【问题标题】:django: how to include inline formset for a foreign key in a model form with crispy formdjango:如何在具有脆表的模型表单中包含外键的内联表单集
【发布时间】:2017-03-23 17:37:28
【问题描述】:

例如,我有以下型号:

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',]

这就是我目前设置模型和表单的方式。

我想知道如何制作一个不仅有自己的字段,而且还有 SampleForm 的内联表单集的 ProjectForm,其中可以在模型表单中添加/删除多个样本,就像我们在管理站点中所拥有的一样.我也很高兴知道我应该如何处理视图中的保存和模板中的渲染。

TIA

【问题讨论】:

    标签: python django django-models django-forms django-crispy-forms


    【解决方案1】:

    我猜你正在寻找这个,https://docs.djangoproject.com/es/1.10/topics/db/examples/

    在这里您可以找到模型关系 API 使用示例:

    多对多关系

    多对一关系

    一对一的关系

    【讨论】:

    • 嗯,谢谢,但我知道如何定义这些关系。相反,我想知道如何实现内联表单集。
    猜你喜欢
    • 2014-01-01
    • 2011-06-17
    • 2021-09-13
    • 2014-01-31
    • 2011-05-28
    • 2013-02-15
    • 2020-11-07
    • 2010-09-30
    • 1970-01-01
    相关资源
    最近更新 更多