sách gpt4 ai đã đi

django - 如何将 Django 模型的一个字段的值设置为等于其他 Django 模型的其他字段

In lại 作者:行者123 更新时间:2023-12-01 09:25:57 34 4
mua khóa gpt4 Nike

嗨,我正在将我的 Django 模型的一个字段的值设置为其他模型的另一个字段的值。这个值应该是动态变化的。

这是我的第一个模型

class MainModel(AbstractBaseUser, PermissionsMixin):

email = models.EmailField(
verbose_name='Email Address',
max_length=255,
unique=True)
payment_online = models.ForeignKey(OnlinePayments, null=True, blank=True)
register_date = models.DateTimeField(default=datetime.now, blank=True)
purchase_date = models.CharField(max_length=32, default='')
is_csr = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=False)

这是第二个模型

class OnlinePayments(models.Model):

payer_email = models.CharField(max_length=255, default=None, null=True)
payer_name = models.CharField(max_length=255, default=None, null=True)
timestamp = models.DateTimeField(auto_now_add=True, blank=True)

def __str__(self):
return self.payer_email

我想将 MainModel 中 purchase_date 的值设置为 OnlinePayments 中时间戳的值。

如有任何帮助,将不胜感激

1 Câu trả lời

您实际上不需要维护具有相同值的两个字段。

我会在 MainModel 上定义一个方法并从相关模型中获取 dấu thời gian:

class MainModel(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(
verbose_name='Email Address',
max_length=255,
unique=True)
payment_online = models.ForeignKey(OnlinePayments, null=True, blank=True)
...

def get_purchase_date(self):
return self.payment_online.timestamp if self.payment_online else None

关于django - 如何将 Django 模型的一个字段的值设置为等于其他 Django 模型的其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23966366/

34 4 0
Bài viết được đề xuất: fabricjs - 如何在fabric js中设置围绕中心旋转的动画
Bài viết được đề xuất: arrays - 在 Fortran 中用另一个模块中的参数名称声明一个数组
Bài viết được đề xuất: r - 是否有跨多列的 %in% 运算符
Bài viết được đề xuất: XMPP 流量记录 (ejabberd 13.12)
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com