在django模型外键没有检索实际值



在django中定义了两个表。2.国家当我试图从状态表中打印country_id时,它的检索像"状态对象(1)"我只期望数字1 2 3

# location lookup 
class Country(models.Model):
country_id=models.AutoField(auto_created=True,primary_key=True)
country_name=models.CharField(max_length=50)
country_code=models.CharField(max_length=50,null=True,blank=True)
# state lookup 
class State(models.Model):
state_id=models.AutoField(auto_created=True,primary_key=True)
state_name=models.CharField(max_length=50)
country_id=models.ForeignKey(Country, on_delete=models.CASCADE,db_column='country_id')

甚至我也是第一次犯同样的错误。

您可能正在尝试

State.country_id

并打印出来。相反,你必须输入

State.country_id.country_id

当你简单地使用第一个选项时,输出是对象State本身,而不是country_id,所以你必须在对象country_id中说country_id的值,这就是为什么你必须在那里使用点。

所以我们大多数人做的是在类State中我们将把字段名称为country代替country_id因为我们可以使用 来声明"Get me the instance country的id">

State.country.country_id

最新更新