2017-12-23 4 views
-1

Ich möchte Umfrage erstellen. Ich habe unten Modelle:So erstellen Sie eine Umfrage mit einigen Optionen in 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) 

die survey Optionen könnte sein, 2 oder 3 oder 10 oder usw.

Wie kann ich das schaffen? Ich weiß nicht, wie ich dafür ein Formular erstellen soll. Ich habe es gegoogelt, aber ich habe keine nützlichen Links gefunden. Ich brauche ein Beispiel dafür. Vielen Dank.

+0

Ich denke, Sie haben noch nicht genug erforscht, besuchen Sie dies: https://djangopackages.org/grids/g/survey-questionnaire/ – Gahan

+0

@Gahan Ich möchte Umfragen erstellen, ohne die Verwendung von Drittanbieter-Pakete. – msln

+0

dann sind Sie noch nicht sicher, was Sie als nächstes tun sollen. Wenn es nur darum geht, eine Beziehung zu haben, dann benutze ManytoMany-Beziehung statt Fremdschlüssel – Gahan

Antwort

0

Um eine Umfrage zu erstellen, möchten Sie wirklich vordefinierte Felder für Benutzer auswählen. Hier ist ein Beispiel von Djangos 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) 

Sie können dann ModelForm Django verwenden, um ein Formular aus dem Modell selbst zu erstellen.

Ich hoffe, das hilft!

Verwandte Themen