模板渲染时错误/ __str__返回非字符串(类型NoneType)



我试图从Django管理面板编辑,然后这个错误发生错误:模板呈现时出现错误在模板D:Djangonewvenvlibsite-packages Django contribadmintemplatesadminincludesfieldset.html中,第19行出现错误str返回的非字符串(类型NoneType)输入图片描述

models.py如下:

class hotel(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
hotel_name = models.CharField(max_length=500, null=True)
registration_no = models.CharField(max_length=500, null=True)
company_PAN_number = models.CharField(max_length=500, null=True)
registered_owner_name = models.CharField(max_length=500, null=True)
gender = models.CharField(max_length=100, blank=True, null=True, choices=gender_choice)
email = models.EmailField(max_length=500, null=True)
phone_no = models.CharField(max_length=500, null=True)
website = models.URLField(max_length=500, null=True)
registration_certificate = models.ImageField(null=True, upload_to='documents/%y/%m/%d/')
PAN_certificate = models.ImageField(null=True, upload_to='documents/%y/%m/%d/')
citizen_id_front = models.ImageField(null=True, upload_to='citizen_id/%y/%m/%d/')
citizen_id_back = models.ImageField(null=True, upload_to='citizen_id/%y/%m/%d/')
verified_hotel = models.BooleanField(default=False, null=True)
def __str__(self):
return self.hotel_name
class hotel_application_status(models.Model):
hotel = models.ForeignKey(hotel, null=True, on_delete=models.CASCADE)
resubmitted = models.BooleanField(default=False, null=True)
comment = models.CharField(max_length=500, null=True)
def __str__(self):
return self.hotel.hotel_name

我想这可能是你想要的

def __str__(self):
return self.hotel.hotel_name if self.hotel and self.hotel.hotel_name else ''

感谢大家的大力支持!!

我通过从酒店数据库中删除空行来解决上述错误。上述错误是由于空字段而发生的。我在这个项目中使用Django信号,当用户被创建时,酒店也被创建为空字段。

这在Django表单中工作得很好,但是当你使用Django管理面板添加新数据时,上面的错误就会发生。
错误详情

最新更新