如何从外键访问模型,Django?
How to access model from Foreign Key, Django?
我的项目中有 2 个模型。我想要做的是访问 CustomUser 模型字段“user_coins”。但问题是我只需要从 TradeOffer 模型中获得 offer_id 即可。所以基本上我想要发生的是找到带有 offer_id 的 TradeOffer 字段,并通过 ForeignKey 获取 offer_id 所属的 CustomUser 字段 user_coins。我似乎不知道该怎么做。
class CustomUser(AbstractUser):
username = models.CharField(max_length=32, blank=True, null=True)
name = models.CharField(max_length=200, unique=True)
user_coins = models.FloatField(default=0.00)
class TradeOffers(models.Model):
name = models.ForeignKey(CustomUser, on_delete=models.SET_NULL, null=True)
offer_id = models.CharField(max_length=150, unique=True)
offer_state = models.IntegerField()
offer_message = models.TextField(null=True)
trade_id = models.CharField(max_length=150, unique=True, null=True)
date_added = models.DateTimeField(auto_now_add=True)
简单。要通过“TradeOffers”对象获取“user_coins”,您必须这样做:
tradeoffer = TradeOffers.objects.get(offer_id = <whatever>) #Get the object.
user_coins = tradeoffer.name.user_coins #Get the user_coins field.
或直接:
user_coins = TradeOffers.objects.get(offer_id = <whatever>).name.user_coins
我的项目中有 2 个模型。我想要做的是访问 CustomUser 模型字段“user_coins”。但问题是我只需要从 TradeOffer 模型中获得 offer_id 即可。所以基本上我想要发生的是找到带有 offer_id 的 TradeOffer 字段,并通过 ForeignKey 获取 offer_id 所属的 CustomUser 字段 user_coins。我似乎不知道该怎么做。
class CustomUser(AbstractUser):
username = models.CharField(max_length=32, blank=True, null=True)
name = models.CharField(max_length=200, unique=True)
user_coins = models.FloatField(default=0.00)
class TradeOffers(models.Model):
name = models.ForeignKey(CustomUser, on_delete=models.SET_NULL, null=True)
offer_id = models.CharField(max_length=150, unique=True)
offer_state = models.IntegerField()
offer_message = models.TextField(null=True)
trade_id = models.CharField(max_length=150, unique=True, null=True)
date_added = models.DateTimeField(auto_now_add=True)
简单。要通过“TradeOffers”对象获取“user_coins”,您必须这样做:
tradeoffer = TradeOffers.objects.get(offer_id = <whatever>) #Get the object.
user_coins = tradeoffer.name.user_coins #Get the user_coins field.
或直接:
user_coins = TradeOffers.objects.get(offer_id = <whatever>).name.user_coins