0
複雜的模型:Django的什麼變量過濾
Class Name(models.Model):
first_name = models.CharField(max_length=50,blank=True)
middle_name = models.CharField(max_length=50, blank=True)
last_name = models.CharField(max_length=50, blank=True)
class Person(models.Model):
names = models.ManyToManyField('Name')
wives = models.ManyToManyField('Person',related_name='husbands',null = True, blank = True)
及形狀:
class PersonForm(ModelForm):
names_list = forms.ModelMultipleChoiceField(queryset=Name.objects.filter(person=2), widget=forms.CheckboxSelectMultiple(attrs={"checked":""}))
wives_list = forms.ModelMultipleChoiceField(queryset=Person.objects.filter(husbands=2), widget=forms.CheckboxSelectMultiple(attrs={"checked":""}))
class Meta:
model = Person
fields = ('names','wives')
widgets = {
'names' : forms.HiddenInput(),
'wives': forms.HiddenInput(),
}
這是硬編碼的人2號(人= 2,丈夫= 2)。
它的工作原理。但是現在,我想把2號變成與當前編輯人員相關的變量。
如果我看html源代碼 - 我可以看到隱藏字段:
<input id="id_names" name="names" type="hidden" value="[30, 63]" />
<input id="id_wives" name="wives" type="hidden" value="[42]" />
所以 - 有兩種方式:
Name.objects.filter(person=somevariable)
- 顯示的人數名
或
Name.objects.fiter(id__in=othervariable)
- 顯示名稱中的值變量
(與妻子同)
但沒有任何工程 - 尤其是 - 我無法找到合適的變量 - 我是如此接近....