我在Django数据库中有两个表,如下所示:
制造商
和
运输车
这两个表均以各自的形式填写。现在,我已将制造商的数据显示在这样的板上,并添加了“立即出价!”按钮。
当我单击此按钮时,将打开一个弹出窗口,其中包含所有带有 BID 字段的预填条目以及一个提交和取消按钮。像这样:-
现在,我希望当我输入一个出价并按下“提交”按钮时,它应该更新表中的Load_ID(我们正在对其进行出价),Transporter_ID(出价人)和bid_amount以及一个自动的bid_id。
我该怎么做?哪些字段应该一对多/多对一?
这是制造商面板的代码:
class ManufacturerBoardModel(models.Model):
From = models.CharField(max_length=100,null=True)
To = models.CharField(max_length=100,null=True)
Type = models.CharField(max_length=100,null=True)
Length = models.CharField(max_length=100,null=True)
Weight = models.CharField(max_length=100,null=True)
Numberoftrucks = models.IntegerField(null=True)
MaterialType = models.CharField(null=True,max_length=100)
Loadingtime = models.DateTimeField(null=True)
def _str_(self):
return self.Origin
答案 0 :(得分:1)
由于一个特定的生产板可以进行很多投标,因此我们可以将生产板作为投标模型中的外键。 唯一ID(uuid)可以用作出价键。 运输商也可以有很多投标,因此它也是外键。但是,如果您希望一个运输者只能在制造商委员会上竞标一次,那么您还可以对制造商委员会和运输者字段设置唯一的约束。
class Bidding(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
manufacturer_board = models.ForeignKey(ManufacturerBoardModel)
transporter = models.ForeignKey(Transporter)
amount = models.FloatField(default=0)
class Meta:
unique_together = ('manufacturer_board', 'transporter')