我有一个名为Product
的表。每次使用表django
创建对象时,都会自动将其命名为Product object(1)
,Product object(2)
等等。
而不是Project object(1)
我想把它命名为有创意的东西。在我的Product Table
我有一个名为Product Name
的字段。无论我在此字段中插入什么,我都希望它成为对象的名称。如果我插入Pen
,则应该只显示Pen
而不是Product object(1)
或类似的内容。
答案 0 :(得分:3)
您需要覆盖模型' __str__
方法:
class Product(models.Model):
title = models.CharField()
def __str__(self):
return self.title
答案 1 :(得分:3)
您应该为模型定义__str__
方法。
class Product(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
如果您需要支持Python 2,请使用python_2_unicode_compatible
装饰器。如果您只支持Python 2,则可以改为定义__unicode__
。
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible # only if you need to support Python 2
class Product(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
有关详细信息,请参阅__str__
方法的文档。