Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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中提供两个选项,而不创建另一个类和foreignkey_Python_Django - Fatal编程技术网

Python 在django中提供两个选项,而不创建另一个类和foreignkey

Python 在django中提供两个选项,而不创建另一个类和foreignkey,python,django,Python,Django,假设我希望每个帖子都有分类,但我知道只有两个分类。我不想创建另一个名为class category的模型并将其foreignkey。有不同的方法吗?每个帖子都有类别1或类别2。我想将此选项放在post model字段中。django有字段。选项,您可以在现有模型中使用它。 此示例取自django文档 这里,ex“FR”的第一个值是一个将被设置为变量值的值,第二个值“Freshman”是一个您将看到的可读值,所以如果您选择“Freshman”,那么变量将包含值“FR”,每个元组表示一个选择,在您的

假设我希望每个帖子都有分类,但我知道只有两个分类。我不想创建另一个名为class category的模型并将其foreignkey。有不同的方法吗?每个帖子都有类别1或类别2。我想将此选项放在post model字段中。

django有
字段。选项
,您可以在现有模型中使用它。 此示例取自django文档

这里,ex“FR”的第一个值是一个将被设置为变量值的值,第二个值“Freshman”是一个您将看到的可读值,所以如果您选择“Freshman”,那么变量将包含值“FR”,每个元组表示一个选择,在您的情况下,您将只有两个元组

下面是一个使用field.choices的示例 从django.db导入模型

class Student(models.Model):
    FRESHMAN = 'FR'
    SOPHOMORE = 'SO'
    JUNIOR = 'JR'
    SENIOR = 'SR'
    YEAR_IN_SCHOOL_CHOICES = [
        (FRESHMAN, 'Freshman'),
        (SOPHOMORE, 'Sophomore'),
        (JUNIOR, 'Junior'),
        (SENIOR, 'Senior'),
    ]
    year_in_school = models.CharField(
        max_length=2,
        choices=YEAR_IN_SCHOOL_CHOICES,
        default=FRESHMAN,
    )

    def is_upperclass(self):
        return self.year_in_school in (self.JUNIOR, self.SENIOR)

检查django field.choices

类似于
PositiveSmallIntegerField
的选项集可能会起作用。
class Student(models.Model):
    FRESHMAN = 'FR'
    SOPHOMORE = 'SO'
    JUNIOR = 'JR'
    SENIOR = 'SR'
    YEAR_IN_SCHOOL_CHOICES = [
        (FRESHMAN, 'Freshman'),
        (SOPHOMORE, 'Sophomore'),
        (JUNIOR, 'Junior'),
        (SENIOR, 'Senior'),
    ]
    year_in_school = models.CharField(
        max_length=2,
        choices=YEAR_IN_SCHOOL_CHOICES,
        default=FRESHMAN,
    )

    def is_upperclass(self):
        return self.year_in_school in (self.JUNIOR, self.SENIOR)