gpt4 book ai didi

django - 我使用什么模型对象类型在 Django Admin 中存储时间值?

转载 作者:行者123 更新时间:2023-12-04 18:23:19 24 4
gpt4 key购买 nike

我正在尝试设置与时间长度相对应的产品(报纸订阅)。

我让客户使用 Django Admin 添加产品类型(各种订阅长度),但我找不到任何关于我应该使用什么模型对象类型来存储时间值(比如 52 周、26 周、 1 周等)。我希望能够选择几天或几周的长度,因为有些论文是每周一次,有些则是每天一次。

现在我的产品模型是:

class Product(models.Model):
product_type = models.CharField(max_length=100)
product_description = models.CharField(max_length=255)
product_cost = models.DecimalField(decimal_places=2, max_digits=4)
product_active = models.BooleanField()
def get_absolute_url(self):
return "/signup/%i/" % self.id
def __unicode__(self):
return self.product_type

有什么方法可以让 product_type 成为一个对象类型,让用户定义时间值?

谢谢,

安东尼

最佳答案

我认为只存储两个值会更容易,一个数字值和一个数字代表的选择。

duration = models.IntegerField()
duration_type = models.CharField(max_length=32, choices=[
("day", "Days"),
("week", "Weeks")])

假设您有一个单独的订阅模型,那么您可以将该模型中的到期时间计算为一种方法:
class Subscription(models.Model):
product = models.ForeignKey(Product)
starts = models.DateField()
def expires(self):
from datetime import timedelta
if self.product.duration_type == "day":
days = self.product.duration
elif self.product.duration_type == "week":
days = self.product.duration * 7
return self.starts + timedelta(days=days)

关于django - 我使用什么模型对象类型在 Django Admin 中存储时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10213596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com