如何使用django中的一些选项创建调查

时间:2017-12-23 12:18:03

标签: python django django-models django-forms

我想创建调查。我有以下型号:

class Survey(models.Model):
    question = models.CharField(max_length=100)
    description = models.CharField(max_length=500, blank=True, null=True)
    end_date = models.DateTimeField()


class SurveyOptions(models.Model):
    survey = models.ForeignKey(Survey, related_name='s_id', on_delete=models.CASCADE)
    text = models.CharField(max_length=50)

survey选项可能是2或3或10或等等。

我该如何创造呢?我不知道如何为它创建表单。 我用谷歌搜索,但我没有找到任何有用的链接。我需要一个例子。感谢。

1 个答案:

答案 0 :(得分:2)

要创建调查,您确实希望用户可以选择预定义字段。以下是Django website的一个例子:

from django.db import models

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的ModelForm从模型本身创建表单。

我希望这有帮助!