最初如何使Django模型ManyToMany字段为空?

时间:2018-10-19 02:21:55

标签: django django-model-field

我有以下两个相关模型。

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author)
    isbn =models.CharField(max_length=15)


class Lending(models.Model):
    member_id = models.ForeignKey(Member)
    name = models.CharField(max_length=100)
    borrowed = models.DateField(auto_now_add=True)
    returning = models.DateField()
    book_list = models.ManyToManyField(Book, related_name='borrowed_books')

在向用户显示时,我希望在“借阅创建HTML”表单中将图书清单字段留空。我想确保它在后端模型形式中不为空,并且在模型中不为null。我这样做是因为书清单可能很大,并且会在发送数据时使用ajax查询书以将其动态添加到HTML表单字段中的书清单中。我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果使用的是基于django类的视图,则可以重写get_form方法来编辑表单并设置一些初始值。我可以举一个例子-

class LendingView(generic.CreateView):
    ...
    def get_form(self,form_class=None):
        form = super().get_form(form_class)
        form['book_list'].field.choices = {}
        return form

这将清空您对字段的选择。仍然有任何疑问对此发表评论。