【发布时间】:2020-05-04 06:19:31
【问题描述】:
我正在尝试构建一个带有过滤的多对多字段的表单。 所以我创建了对象:
日名
1) 名称=星期日
2) 姓名=星期一
子主目录
1) 名称:数学
天(多对多字段):星期日星期一
2) 名称:运动
天(多对多字段):星期二
3) 名称:舞蹈
天数(多对多字段):星期日星期二
日
1)name(Char field)="Sunday"
hog1(ManytoMany field, filterd): 只显示 Dance 和 Math 可供选择。
如何在 form.py 中填充这个 hog1 manytomany 字段? 我应该将 Name of Day 模型更改为 dayname 的 forginkey 吗? 谢谢你的帮助。
我有 3 个模型:
Models.py
class Dayname(models.Model):
name = models.CharField(verbose_name="day", max_length=200, null=True)
def __str__(self):
return self.name
class Submain(models.Model):
name = models.CharField(verbose_name="שם החוג", max_length=200, null=True)
days = models.ManyToManyField(Dayname, verbose_name="ימי פעילות",
related_name="active", max_length=200, null=True,
)
def __str__(self):
return self.name
class Day(models.Model):
name = models.CharField(verbose_name="יום", max_length=200, null=True)
hog2 = models.ManyToManyField(Submain, verbose_name="חוג 2 ביום",
related_name="hog2", max_length=200, null=True,
)
def __str__(self):
return self.name
forms.py
class DaysForm(ModelForm):
def __init__(self, *args, **kwargs):
super(DaysForm, self).__init__(*args, **kwargs)
self.fields['hog1'].required = False
self.fields["hog1"].widget = CheckboxSelectMultiple()
self.field['hog1'].queryset = Submain.objects.filter(days__in__name="sunday")
【问题讨论】:
标签: python django django-forms django-templates