Python 我可以访问Django模型中的选项类别吗?
假设我有这个Python 我可以访问Django模型中的选项类别吗?,python,django,django-models,Python,Django,Django Models,假设我有这个 class PaymentType(models.Model): INSCRIPTION = 'INS' JANUARY = 'JAN' FEBRUARY = 'FEB' MARCH = 'MAR' APRIL = 'APR' MAY = 'MAY' JUNE = 'JUN' JULY = 'JUL' AUGUST = 'AUG'
class PaymentType(models.Model):
INSCRIPTION = 'INS'
JANUARY = 'JAN'
FEBRUARY = 'FEB'
MARCH = 'MAR'
APRIL = 'APR'
MAY = 'MAY'
JUNE = 'JUN'
JULY = 'JUL'
AUGUST = 'AUG'
SEPTEMBER = 'SEP'
OCTOBER = 'OCT'
NOVEMBER = 'NOV'
DECEMBER = 'DEC'
NAME_CHOICES = [
('Months'), (
(JANUARY, 'January'),
(FEBRUARY, 'February'),
(MARCH, 'March'),
(APRIL, 'April'),
(MAY, 'May'),
(JUNE, 'June'),
(JULY, 'July'),
(AUGUST, 'August'),
(SEPTEMBER, 'September'),
(OCTOBER, 'October'),
(NOVEMBER, 'November'),
(DECEMBER, 'December')
)
('Others'), (
(INSCRIPTION, 'Inscription'),
)
]
amount = models.FloatField()
payment_type = models.CharField(max_length=3, choices=NAME_CHOICES)
有什么方法可以访问“月”或“其他”类别吗?例如,我希望用户能够将更多付款类型添加到“其他”或添加/更新所有“月份”的金额
有什么方法可以访问“月”或“其他”类别吗
我不完全理解这一部分,但我认为您需要以下内容:
您可以创建另一个模型,并通过DB外键将其链接在一起,该外键在Django中表示为。您不能像使用CharField一样使用ForeignKey的选项,但在某种形式下,我假设您可以使用一个选项。粗略模型原型:
class PaymentMethod(models.Model):
"""model for your NAME_CHOICES."""
id = models.CharField(max_length=8, primary_key=True) # `JAN` goes here
name = models.CharField(max_length=32) # `January` goes here
category = models.CharField(max_length=32) # `Months` goes here, but I'm not exactly sure about how this column will fit into the form
class PaymentType(models.Model):
amount = models.FloatField()
payment_type = models.ForeignKey(PaymentMethod)