[django] 前端动态增加Field, 该怎样创建Form模型

coolee 发布于 2014/01/02 15:39
阅读 1K+
收藏 1

例子如下(仅仅是为了说明问题)

同一本书可对应多个作者:

class BookCreationForm(forms.Form)

    book = forms.CharField()

    author_1 = forms.CharField()

    author_2 = forms.CharField()

 问题是不知道一本书会有几个作者,所以不能在Form生成时确定字段个数,需要前端动态增加author字段

在这里,Book和Author可能分别对应不同的Model,但是我想跟这个问题关系不大,

现在我想在一个Form提交中创建一个Book和若干个作者(不考虑数据库中作者重复问题,只是个例子)

请问大家该怎么实现呢?

谢谢!

加载中
0
v
virusdefender

这个应该用foreign key来吧

作者的数目是不确定的

coolee
coolee
如果创建Model的话是用Foreign Key, 但是创建表单该用什么呢。这里一个Form对应多个不同的Model (Book, Author),而且个数不确定,需要前端动态增加Field
0
ToughGuy
ToughGuy

多对多用manytomany

刚才说错, 不是一对多

0
RyannLe
RyannLe

form可以实现么? 简单点就抛弃form,前台js实现自动增加<input>,后台自己解析呗。

coolee
coolee
正有此意
0
火星大熊猫
根据前端动态的生成form基本没戏,还是得自己写前端,可以写没有作者的form,作者的用js增加,后台收集form和POST来的作者,进行储存
返回顶部
顶部