Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从另一个外键引用模型Django更新外键_Python_Django_Django Models_Django Templates - Fatal编程技术网

Python 如何从另一个外键引用模型Django更新外键

Python 如何从另一个外键引用模型Django更新外键,python,django,django-models,django-templates,Python,Django,Django Models,Django Templates,我制作了两个模型,它们都具有相同的外键引用模型(usersell)和(currentuserbid)到用户模型(settings.AUTH\u User\u model) 我已经填写了AuctionBids models.currentuserbid的数据。当我尝试引用它并在view.py的AuctionListing模型中将其设置为相同的值时,它不会被保存 我也试过了,listing.sell=User.objects.get(id=listing.bid.currentuserbid.id)

我制作了两个模型,它们都具有相同的外键引用模型(usersell)和(currentuserbid)到用户模型(settings.AUTH\u User\u model)

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

我也试过了,listing.sell=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)


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

listing=AuctionListing.objects.get(pk=id) bid=listing.bid\u集合 使用本文档了解django中的外键引用

你的意思是
listing.usersell=listing.bid.currentuserbid
?字段名为“UserSeld”而不是“Seld”?@IainShelvington噢,谢谢你抓住了我的错误,你的正确答案。我应该意识到这一点。这回答了我的问题
Views.py

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