python - 如何使布尔字段在 Django 中仅包含一个 True 值
问题描述
我正在制定一个储蓄计划,我已经实施了它,以便它可以循环工作。
有没有一种方法可以让我的布尔字段只强制执行一个活动循环?
模型.py
class Cycle(models.Model):
cycle_name = models.CharField( max_length=220, null=True, blank=True, unique=True)
rate = models.IntegerField(default=15, null=True, blank=True)
cycle_period_start = models.DateField(max_length=255, blank=False, null=False, unique=True)
cycle_period_end = models.DateField(max_length=255, blank=False, null=False, unique=True)
is_active = models.BooleanField(default=True)
def __str__(self):
return self.cycle_period_start.year + "/" + self.cycle_period_end.year
基本上我想要的是,当我添加新周期时,该字段is_active
设置False
为其他周期。
感谢您的帮助
解决方案
因此,您可以做的是在创建新周期之前更新所有不再活动的现有周期。
因此是这样的。
Cycle.objects.update(is_active=False)
Cycle.objects.create(is_active=True, ...)
推荐阅读
- swift - IKImageView 不显示图片(Cocoa Swift)
- ios - 如何检测设备(iphone)是否有物理主页按钮?
- lean - 是什么让自然数在超时方面如此特别?
- c# - 结合非托管 C++ 项目和 C# 项目的 MS Visual Studio 解决方案
- php - 从 xampp 5.6 停止 mysql 将导致 xampp 7.0 xampp mysql 服务器停止
- javascript - Materialize CSS 无法以编程方式打开可折叠元素
- github - 无法从 Github 桌面应用程序发布到 github.com
- symfony - Symfony Bundle 允许用户互相发送消息
- c# - 如何从先前旋转的结束位置旋转wpf中的控件
- android - Xamarin 应用程序(Android)无法从物理设备访问本地网络中的 mongodb 服务器