【发布时间】:2020-12-22 20:58:52
【问题描述】:
我找到了一种方法来实现作为外键相互连接的模型形式。
我正在寻找一个表单集,它将创建一个相互之间具有 M2M 关系的动态表单,因此设计如下:
class PrescriptionLine(models.Model):
id = models.AutoField(primary_key=True)
drug = models.ForeignKey(Drug, on_delete=models.CASCADE)
morning = models.FloatField(choices=[(val, val) for val in TABLET_INTAKE_QTY], default=0, blank=True, null=True)
class Prescription(models.Model):
id = models.AutoField(primary_key=True)
patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
line_prescription = models.ManyToManyField(PrescriptionLine, on_delete=models.CASCADE)
note = models.TextField(max_length=100, default='')
现在我可以这样做了:
PrescriptionFormset = inlineformset_factory(
Prescription, PrescriptionLine, form=PrescriptionForm,
fields=['drug', 'morning'], extra=1, can_delete=True
)
但我不能这样做,因为它说 PrescriptionLine 没有 ForeignKey to Prescription。
如何做到这一点?请帮助我已经为此苦苦挣扎了好几个月。如果需要,表单集本身已经准备好了,我可以在这里添加它吗?
【问题讨论】:
标签: django many-to-many inline-formset