我在编辑__str__ returned non-string (type NoneType)
模型对象
Product
错误
class Product(models.Model):
ProductName = models.CharField(blank=True, max_length=250)
Price = models.FloatField(blank=True, default=9.99)
Tax = models.FloatField(blank=True, null=True, default=0.0)
StoreId = models.IntegerField(blank=True, null=True)
RelatedStore = models.ForeignKey(Store, blank=True, null=True)
Category = models.CharField(max_length=200,
blank=True, null=True,
default='No Specific Category')
ProductImage = models.CharField(max_length=400, null=True, blank=True)
Features = models.TextField(blank=True, null=True)
ProductSize = models.IntegerField(blank=True, null=True, default=3)
FavoriteField = models.BooleanField(blank=True, default=False)
Active = models.BooleanField(blank=True, default=True)
def __unicode__(self):
return self.ProductName
def __str__(self):
return self.ProductName
任何有用的答案都将不胜感激。
答案 0 :(得分:1)
你可以尝试:
def __str__(self):
return str(self.ProductName) if self.ProductName else ''
答案 1 :(得分:1)
我来晚了一点,但是改变了回报如下:
def __str__(self):
return str(self.ProductName)
答案 2 :(得分:1)
__str__ returned non-string (type NoneType)
在您访问的模型或与其相关的其他模型在 def int
函数上返回 __str__
值时返回。如果您要返回 int,请务必将该值解析为 String 选项。
def __str__(self):
return str(self.id)
答案 3 :(得分:0)
请按以下方式更新返回值
def __str__(self):
return self.RelatedStore.FieldNameInStoreModel
对我来说很好。代码如下,
class tutorialInfo(models.Model):
course_link = models.CharField(max_length=100)
def __str__(self):
return self.course_link
class courseDetails(models.Model):
course_slug = models.ForeignKey(tutorialInfo,default=1,on_delete=models.SET_DEFAULT,verbose_name='Course')
class Meta:
verbose_name_plural = "Course"
def __str__(self):
return self.course_slug.course_link
请确保ForeignKey字段中提到的Model类应位于当前模型类名称的上方。
答案 4 :(得分:0)
问题出在Foregienkey上:
RelatedStore = models.ForeignKey(Store, blank=True, null=True)
#edit or delete this:
def __str__(self):
return self.ProductName
或者检查Store类是否会有一些
def_str_(self):
return self.something
然后它将正常工作,我知道我迟到了,但是对我有用!