__从foreignkey字段调用时,此django应用程序中未调用str_uu方法
我有这个模型:__从foreignkey字段调用时,此django应用程序中未调用str_uu方法,django,Django,我有这个模型: class Country(models.Model): name=models.CharField(max_length=100,unique=True) createdon=models.DateTimeField(auto_now_add=True) updatedon=models.DateTimeField(auto_now=True) def __str__(self): return self.name class
class Country(models.Model):
name=models.CharField(max_length=100,unique=True)
createdon=models.DateTimeField(auto_now_add=True)
updatedon=models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
class Guest(models.model):
nationality=models.ForeignKey(Country,related_name='guest-nation')
在my views.py中,我执行以下操作:
guest=Guest.objects.all().values('nationality')
在我的模板中:
{% for info in guest %}
{{ info.nationality }}
{% endfor %}
现在,我希望National字段返回国家的名称,但它返回国家的id(存储在National_id)字段中。从文档中,我了解到它应该返回str方法中指定的值
如果我输入的值是国籍名称,我可以访问该名称。它看起来比我想象的更难看,我不知何故相信它应该称为str方法。我错了吗?试试这个:
{% for info in guest %}
{{ info.nationality.name }}
{% endfor %}
是的,它确实有效,但我仍然无法理解str方法的实际用途。