给定一个模型

class Template(models.Model):
    colour = models.CharField(default="red", blank = True, null=True)


我该如何安排它,以便对颜色的任何访问都返回存储在字段中的值,或者如果该字段为空白/空则返回红色?

首次创建时,default = red将在字段中放置“ red”,但是如果将其编辑为空白,我想访问它以返回“ red”而不是“”

更新:我尝试了下面建议的属性解决方案,但是我使用JSON序列化实现REST API,并且属性(例如colour)没有被序列化,而序列化_colour破坏了API

最佳答案

您可以改为创建一个单独的方法:

def get_colour(self):
    if not self.colour:
        return 'red'
    else:
        return self.colour


另一种方法是使用属性。

http://www.djangoproject.com/documentation/models/properties/

关于python - 如果设置为null,如何创建具有默认值的Django模型字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2156585/

10-13 05:20