python - Django / Models / Admin /外键问题:__str__返回非字符串(类型元组)
问题描述
我已经尝试过在其他主题上找到多种解决方案,但没有任何效果。
我在 Django Admin 中的外键有问题。无法查看记录或添加新记录。
我有一个convertion_factor
没有 NULL 值的表。见 postgreSQL 配置
这是我的模型:
class convertion_factor(models.Model):
foodID = models.ForeignKey('food_name', on_delete=models.CASCADE)
measureID = models.ForeignKey('measure_name', on_delete=models.CASCADE)
conversionFactorValue = models.FloatField()
convFactorDateOfEntry = models.DateField(auto_now=False, auto_now_add=False)
为了在 Django Admin 中查看数据,您必须添加def __str__(self):
到模型中。好的,让我们这样做:
class convertion_factor(models.Model):
foodID = models.ForeignKey('food_name', on_delete=models.CASCADE)
measureID = models.ForeignKey('measure_name', on_delete=models.CASCADE)
conversionFactorValue = models.FloatField()
convFactorDateOfEntry = models.DateField(auto_now=False, auto_now_add=False)
def __str__(self):
return self.conversionFactorValue
现在,当我转到 Django Admin 并单击模型时,convertion_factor
我可以很好地看到表格,但是当我尝试单击记录进行编辑时,出现此错误:
/admin/kalo/conversion_factor/19505/change/ 处的类型错误
Exception Type: TypeError at /admin/kalo/convertion_factor/19505/change/
Exception Value: __str__ returned non-string (type float)
我的印象是由于外键,这是一个错误,因为我的其他模型没有外键,一切正常。
在def __str__(self):
我尝试过的功能中:
return self.foodID.__str__
但同样的错误
return str(self.foodID)
但同样的错误
你有什么主意吗 ?
谢谢您的帮助。
解决方案
这段代码可以正确处理浮点值,它会以字符串值的形式返回一个浮点值。
def __str__(self):
return str(self.conversionFactorValue)
我在下面添加了一个屏幕截图。
推荐阅读
- php - 动态字段 Excel 输出 PHP
- spring-boot - 除了构建/目标文件夹之外,简单的 spring-boot jar 不起作用
- c - C 代码中的重复函数定义 - 可能是什么原因?
- python - Python上的直方图到高斯分布
- ruby-on-rails - Rails,如何使用 webpacker 仅编译 css 并从布局中读取已编译的资产
- amazon-web-services - Redshift COPY 命令错误 [错误的 UTF8 十六进制序列]
- react-native - 如何通过移动应用程序使用旧版本的 Expo?
- oop - 如何避免在嵌套类结构中复制属性?
- c# - 单击 DataGridViewButton 时的新行
- reactjs - 如何删除反应应用程序并打开现有的应用程序