gpt4 book ai didi

python - Django 项目发送回类别对象而不是该类别的名称

转载 作者:太空宇宙 更新时间:2023-11-03 16:42:43 27 4
gpt4 key购买 nike

因此,当我获取 html 页面测量的 View 页面时,“类别”列应显示“西部”、“东部”或“火山”类别的名称。但目前它仅显示类别对象。如果有多个类别对象,则将其显示为类别对象,类别对象而不是西、东

这是我的模型:

class Area(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
longitude = models.FloatField(max_length=100)
latitude = models.FloatField(max_length=100)

class Category(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
description = models.CharField(max_length=100)
members = models.ManyToManyField('Area')

这是我获取该数据的函数。

@property
def category_names(self):
result = Category.objects.filter(members__id=self.id)
return ", ".join(str(res) for res in result)

我做错了什么? defcategory_names 位于我的区域模型下,因此 self.id 来自区域。我确信这与我的职能有关。总是当谈到 django 时,我只是错过了一些小东西,但不确定是什么......

谢谢大家!

最佳答案

您需要将 __unicode__ 方法添加到您的 Category 类中:

 class Category(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
description = models.CharField(max_length=100)
members = models.ManyToManyField('Area')

def __unicode__(self):
return self.name

或者在构建列表时返回类别名称:

return ", ".join(str(res.name) for res in result)

关于python - Django 项目发送回类别对象而不是该类别的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com