Django:从前端表单向数据库中不存在的值添加到manytomanyfield

时间:2018-10-21 12:24:52

标签: django django-models django-forms django-views

我有一个称为certificate的manytomanyfield,我希望登录的用户输入将创建的值并将其添加到数据库中(而不是从管理员那里)。

是否有用于此的插件...如果没有关于如何进行此操作的线索,将不胜感激。

我尝试了这个select2插件,但是没用

class MyModelSelect2TagWidget(ModelSelect2TagWidget):
queryset = MyModel.objects.all()

def value_from_datadict(self, data, files, name):
    values = super().value_from_datadict(self, data, files, name)
    qs = self.queryset.filter(**{'pk__in': list(values)})
    pks = set(str(getattr(o, pk)) for o in qs)
    cleaned_values = []
    for val in value:
        if str(val) not in pks:
            val = queryset.create(title=val).pk
        cleaned_values.append(val)
    return cleaned_values

0 个答案:

没有答案