2017-12-23 6 views
-1

설문 조사를 만들고 싶습니다. 나는 모델 아래에 있습니다django에서 일부 옵션으로 설문 조사를 만드는 방법

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

내가 그걸 어떻게 만들 수 있습니다

등이 될 수 있는가? 나는 그것을위한 양식을 만드는 방법을 모른다. 나는 그것을 봤지만 유용한 링크를 찾지 못했습니다. 나는 그것의 본보기가 필요하다. 감사.

+0

아직 충분히 살펴 보지 못했다고 생각합니다. https://djangopackages.org/grids/g/survey-questionnaire/ – Gahan

+0

@Gahan 제 3 자 패키지를 사용하지 않고 설문 조사를 만들고 싶습니다. – msln

+0

다음에해야 할 일에 대해 아직 확신하지 못했습니다. 관계가있을 경우 ManytoMany 관계를 외래 키 대신 사용하십시오 – Gahan

답변

0

설문 조사를 만들려면 사용자가 미리 정의 된 필드를 선택해야합니다.

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) 

그런 다음 모델 자체에서 양식을 만들 장고의 ModelForm을 사용할 수 있습니다 : 여기 장고의 website에서 예입니다.

도움이 되었기를 바랍니다.