例如,我有以下模型:
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',]
这就是我目前设置模型和表单的方式。
我想知道如何创建一个不仅有自己的字段的ProjectForm,还有SampleForm的内联formset,可以在模型表单中添加/删除多个样本,就像我们在管理站点中一样。我也很高兴知道如何处理视图中的保存以及在模板中渲染。
TIA
答案 0 :(得分:0)
我猜你正在寻找这个,https://docs.djangoproject.com/es/1.10/topics/db/examples/
在这里,您可以找到模型关系API用法的示例:
多对多关系
多对一关系
一对一关系