我有一个带有OneToOneField(指向第二个模型)的模型,我想在第二个模型的变量内返回值
这是第二个模型:
class EstablishmentTable(models.Model): #Tabla de establecimientos
#id for the 'pk as we have not declare any
etmail = models.CharField(max_length=45)
etpass = models.CharField(max_length=1024) #SHA-1024, SHA-512. SHA-256
etname = models.CharField(max_length=30)
etnumqueue = models.IntegerField()
def __str__(self):
return "name: "+self.etname+" mail: "+self.pk
这是第一款:
class QueueTable(models.Model): #Tabla de colas
#id for the 'pk as we have not declare any
qtname = models.CharField(max_length=30)
qtestablishment = models.OneToOneField(EstablishmentTable, on_delete=models.CASCADE,null=True)
qtnumstate = models.IntegerField()
qtdate = models.DateField(auto_now_add=True)
def __str__(self):
return "name: "+self.qtestablishment+" mail: "+self.pk
如何访问变量?如果我写
return "name: "+self.qtestablishment+" mail: "+self.pk
它返回:
TypeError: can only concatenate str (not "EstablishmentTable") to str
先谢谢你
您可以获取
self.qtestablishment
的名称,因为您将此Null设置为可启用的,但是,您需要防止None
:或者您可以在
self.qtestablishment
对象上调用str(..)
,从而返回您在EstablishmentTable
上定义的__str__
方法的结果。例如,我们可以使用.format(…)
来实现这一点:相关问题 更多 >
编程相关推荐