Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以访问Django模型中的选项类别吗?_Python_Django_Django Models - Fatal编程技术网

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)