2016-07-20 5 views
0

Я пытался получить дескриптор встроенных форм Django. То, что меня отключает, пытается передать запрос в конструктор форм.Django inlineformset instance vs queryset

Рассмотрите две простые модели.

class PickSheet(Model): 
    name = Models.CharField() 

class Pick(Model): 
    picksheet = Models.ForeignKey(PickSheet, related_name='picks') 
    team = Models.CharField() 
    points = Models.CharField() 

Теперь создайте FormSet.

В базе данных у меня есть PickSheet, созданный с двумя выборками.

Если я использую instance = при создании набора форм, я получаю ожидаемые две формы.

obj = get_object_or_404(PickSheet, id=3) 
formset = PickFormSet(instance=obj) 
print(formset.management_form) 

Если я использую queryset = при создании набора форм, я получаю нулевые формы.

qs = PickSheet.objects.filter(id=3) 
formset = PickFormSet(queryset=qs) 
print(formset.management_form) 

Что происходит? Не является ли PickSheet.objects.filter (id = 3) эквивалентным PickSheet.objects.get (id = 3)?

ответ

0

PickSheet.objects.filter(id=3) не является эквивалентом PickSheet.objects.get(id=3), так как PickSheet.objects.filter(id=3) является возвратом списка и) вернет экземпляр объекта.

Смежные вопросы