共有3种模型:项目,报价和RatingAndReviews。客户为承包商创建任务,将其存储在项目中,承包商在要约中为任务报价。项目可以有多个优惠。任务完成后,客户对承包商进行评分和审查。建立模型的最佳方法是什么
class Item(models.Model):
owner = models.ForeignKey(
CustomUser,
on_delete=models.CASCADE,
)
offers = models.ManyToManyField(
'Offer',
through='RatingAndReview'
)
class Offer(models.Model):
owner = models.ForeignKey(
CustomUser,
on_delete=models.CASCADE,
)
class RatingAndReview(models.Model):
item = models.ForeignKey(Item, on_delete=models.CASCADE)
offer = models.ForeignKey(Offer, on_delete=models.CASCADE)
rating = models.PositiveIntegerField()
review = models.TextField()
我曾经有一个一对多的关系项目-要约,可以选择要约的所有者和我为其制作的项目,但是必须添加RatingAndReview。现在,当我在django-admin中创建要约时,我无法访问要为其选择的项。 我的模型看起来不错吗?创建商品时如何访问商品?
答案 0 :(得分:0)
一些使其起作用的想法:
item
中应该有Offer
外键(FK),{中应该没有M2M字段offers
{1}}。Item
中仅保留一个FK,而在Review
和{ {1}}。Offer
上的Item
字段。如果您选择将评论限制为项目而不是报价,这也有助于将评论链接到出价和投标人。