如何从另一个外键参考模型 Django 更新外键

时间:2021-05-01 03:11:24

标签: python django django-models django-templates

我制作了两个模型,它们都具有相同的外键参考模型(usersold)和(currentuserbid)到用户模型(settings.AUTH_USER_MODEL)。

我已经填写了 AuctionBids models.currentuserbid 的数据。当我尝试在 view.py 中的 AuctionListing 模型中引用它并将其设置为相同的值时,它不会被保存。

我也试过,listing.sold = User.objects.get(id=listing.bid.currentuserbid.id)

非常感谢!

Models.py

class AuctionListing(models.Model):
    title = models.CharField(max_length=64)
    description = models.TextField()
    image = models.TextField()
    bid = models.ForeignKey(AuctionBids, on_delete=models.CASCADE, related_name="auctionbidding", null=True)
    usersold = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="auctionsold",null=True)

class AuctionBids(models.Model):
    currentBid = models.IntegerField()
    currentuserbid = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,related_name="currentuserbid",null=True)

Views.py

listing = AuctionListing.objects.get(pk=id)
listing.sold = listing.bid.currentuserbid
listing.save()

1 个答案:

答案 0 :(得分:0)

问题在于你引用外键的方式 为了获得与 AuctionListing 相关的出价,您可以使用:

listing = AuctionListing.objects.get(pk=id) 出价=listing.bid_set 使用本文档了解 django 中的外键引用 https://docs.djangoproject.com/en/3.2/ref/models/relations/

相关问题