關係我有兩個,我使用Django的OneToOneField與模型建模,本文檔以下內容:https://docs.djangoproject.com/en/2.0/topics/db/examples/one_to_one/變化與一對一不節能
class Seats(models.Model):
north = models.OneToOneField('User',on_delete=models.CASCADE,related_name='north', default=None, null=True)
bridgetable = models.OneToOneField('BridgeTable',on_delete=models.CASCADE, default=None, null=True)
class BridgeTableManager(models.Manager):
def create_deal(self):
deal = construct_deal()
table = self.create(deal=deal)
s = Seats(bridgetable=table)
s.save()
return table
class BridgeTable(models.Model):
deal = DealField(default=None,null=True)
當我運行這段代碼我能順利拿到關係工作
table = BridgeTable.objects.get(pk='1')
user = User.objects.get(username=username)
table.seats.north = user
table.seats.north.save()
print(table.seats.north)
打印語句打印出坐在北方的玩家的名字。但是,如果我嘗試像這樣再次訪問表格:
table = BridgeTable.objects.get(pk='1')
print(table.seats.north)
我得到「無」而不是用戶名。有什麼我錯過了,就像我錯過的保存或一些我不理解的概念?謝謝。
您應該保存座椅模型對象是(DO:'table.seats.save()') – Amar