Python 如何在django模型中实现选择字段?
我想在django开发一个鸽子应用程序,我的鸽子模型有状态字段。 为此,我必须定义另一个名为Status的模型来存储我的状态 我的模型 我的问题是如何为每个状态设置布尔值?我想这样查询:Python 如何在django模型中实现选择字段?,python,django,Python,Django,我想在django开发一个鸽子应用程序,我的鸽子模型有状态字段。 为此,我必须定义另一个名为Status的模型来存储我的状态 我的模型 我的问题是如何为每个状态设置布尔值?我想这样查询:bige.status.in\u loft=true。 从选项中,Activ和待售必须在_loft=True中有,而Lost、Dead必须在_loft=False中有。 有人能回答这个问题吗?是否有其他方法(可能更好)来设置鸽子状态并稍后参考? 谢谢 由于您的in_logt取决于status模型的status字段
bige.status.in\u loft=true
。
从选项中,Activ和待售必须在_loft=True中有,而Lost、Dead必须在_loft=False中有。
有人能回答这个问题吗?是否有其他方法(可能更好)来设置鸽子状态并稍后参考?
谢谢 由于您的in_logt
取决于status
模型的status
字段的值,因此无需创建in_loft字段。一种更好的python方法是在文件状态中使用一个自定义方法(带有属性装饰器)来获取in_logt的值。然后,您可以按照您的建议从鸽子状态的实例调用_loft
下面是示例代码:
class PigeonStatus(models.Model):
STATUSES = [
('Activ', 'Activ'),
('Lost', 'Lost'),
('Dead', 'Dead'),
('For Sale', 'For Sale')
]
status = models.CharField(max_length=15, choices=STATUSES, unique=True)
@property
def in_loft(self):
return self.status == 'Activ' or self.status == 'For Sale'
class PigeonStatus(models.Model):
STATUSES = [
('Activ', 'Activ'),
('Lost', 'Lost'),
('Dead', 'Dead'),
('For Sale', 'For Sale')
]
status = models.CharField(max_length=15, choices=STATUSES, unique=True)
@property
def in_loft(self):
return self.status == 'Activ' or self.status == 'For Sale'