我有3个模型,它们通过外键连接,如此
models.py
class Partner(models.Model):
partner_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
...
class Product(models.Model):
product_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
partner_id = models.ForeignKey(Partner)
...
class ProductData(models.Model):
data_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
partner_id = models.ForeignKey(Partner)
product_id = models.ForeignKey(Partner)
...
我想要的是一个表单ProductDataForm,它通过选择一个partner_id调整我对product_id的选择。我上面有这个forms.py,但它不起作用:(
forms.py
class ProductDataForm(ModelForm):
partner_id = forms.ModelChoiceField(queryset=Partner.objects.all())
product_id = forms.ModelChoiceField(queryset=Product.objects.filter(partner_id=partner_id)
我需要为Homeage和Adminsite上的普通用户和管理员使用此动态。
有人能帮助我吗? :)
答案 0 :(得分:0)
我没有很多使用ModelForms或ModelChoiceField的经验,但我在这里所做的可能会有所帮助:
class ProductDataForm(forms.Form):
partner_id= forms.ChoiceField(
choices = [ (u.id, u.id) for u in Partner.objects.all()]
)