0

Zum Beispiel Inline-formset aufzunehmen, habe ich die folgenden Modelle:django: Wie für einen Fremdschlüssel in einer Modellform mit knuspriger Form

class Project(models.Model): 
    description = models.CharField(max_length = 200, null=True) 
    login_date = models.DateField(null=True) 
    login_by = models.CharField(max_length = 200, null=True) 
    notes= models.CharField(max_length = 200, null=True) 

class Sample(models.Model): 
    project = models.ForeignKey(Project, on_delete = models.CASCADE, null=True) 
    serial_number = models.CharField(max_length = 200, null=True) 
    location = models.CharField(max_length = 200)  

class ProjectForm(ModelForm): 
    login_date=forms.DateField(widget=DateWidget(attrs={'id':"login_sample"}, usel10n = True, bootstrap_version=3), initial=datetime.date.today) 
    in_notes = forms.CharField(widget=forms.Textarea) 


    helper = FormHelper() 
    helper.layout = Layout(
     Div(
      'description', 
      'login_date', 
      'login_by', 
      'in_notes', 
      ButtonHolder(
       HTML("<button type='submit' class='save btn btn-default' name = 'projectform'>Save</button>"), 
      ), 
     ) 
    ) 

    class Meta: 
     model = Project 
     fields = ['description', 'login_date','login_by', 
     'in_shipping_method_tracking_number','in_notes'] 

class SampleDetailForm(ModelForm): 
    helper = FormHelper() 
    helper.layout = Layout(
     Div(
      'serial_number', 
      'location', 
      ButtonHolder(
       HTML("<button type='submit' class='save btn btn-default' name = 'sampleform'>Save</button>"), 
      ), 
     ) 
    ) 

    class Meta: 
     model = Sample 
     fields = ['octa_number', 'serial_number', 'pctest_number', 'location',] 

Dies ist, wie aktuell eingestellte I Modelle und Formen auf.

Ich frage mich, wie kann ich ein ProjectForm machen, das nicht nur das Feld der eigenen, sondern auch ein Inline-formset von SampleForm, in denen mehrere Proben hinzugefügt/gelöscht innerhalb der Modellform werden könnten, genau wie das, was wir in Admin haben Seite? ˅. Ich wäre auch dankbar zu wissen, wie ich das Speichern in Sicht und Rendern in Vorlage behandeln soll.

TIA

Antwort

0

Ich denke, Sie sind dafür suchen, https://docs.djangoproject.com/es/1.10/topics/db/examples/

Sie hier Beispiele für Modellbeziehung API-Nutzung finden:

Many-to-many-Beziehungen

Viele -zu-eins-Beziehungen

Eins-zu-Eins-Beziehungen

+0

ummm danke, aber ich weiß, wie man diese Beziehung definiert. Stattdessen frage ich mich, wie man Inline-Formset implementiert. –

Verwandte Themen