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
ummm danke, aber ich weiß, wie man diese Beziehung definiert. Stattdessen frage ich mich, wie man Inline-Formset implementiert. –