我有以下模式:
class Trip(models.Model):
driver = models.ForeignKey(User)
trip_cost = models.IntegerField(blank=True, null=True)
passenger = models.CharField(max_length=50, blank=True, null=True)
shared_cost = models.IntegerField(default=0, blank=True, null=True)每个Trip可以单独拥有一个driver,也可以有一个带有多个passenger的driver。对于每一个passenger,driver可以设置每位乘客将要支付的trip_cost的百分比。
我需要的是:
passenger的字段Userspassenger + shared_cost为每个Trip。我想我应该用多对多,但我不能让它起作用。另外,当我试图将乘客设置为models.ForeignKey(User)时,我会得到一个错误。
任何帮助或指导都受到高度赞赏。
发布于 2017-10-07 13:15:18
使用两个字段引用相同的模型时使用related_name。
class Trip(models.Model):
driver = models.ForeignKey(User,on_delete=models.CASCADE, related_name='driver')
trip_cost = models.IntegerField(blank=True, null=True)
passenger = models.ForeignKey(User,on_delete=models.CASCADE, related_name='passenger')
shared_cost = models.IntegerField(default=0, blank=True, null=True)https://stackoverflow.com/questions/46620006
复制相似问题