django 多对多保存管理员
django many to many save admin
我有一个像这样的模型:
class MyModel(models.Model):
name = models.CharField(max_length=100)
type = models.ManyToManyField(Type, blank=True)
这里来自管理员,我正在添加 MyModel。
我想要的是,如果在保存时没有提供类型,那么我希望类型像 Teacher
一样默认
类型 Teacher
尚未创建。如果未提供类型我想创建类型并在未提供类型时分配它
根据 documentation 的示例,您可以像这样覆盖 save_model
:
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
def save_related(self, request, form, formsets, change):
if not form.cleaned_data['type']:
type, created = Type.objects.get_or_create(name="Teacher")
form.cleaned_data['type'] = [type]
form.save_m2m()
for formset in formsets:
self.save_formset(request, form, formset, change=change)
我有一个像这样的模型:
class MyModel(models.Model):
name = models.CharField(max_length=100)
type = models.ManyToManyField(Type, blank=True)
这里来自管理员,我正在添加 MyModel。
我想要的是,如果在保存时没有提供类型,那么我希望类型像 Teacher
类型 Teacher
尚未创建。如果未提供类型我想创建类型并在未提供类型时分配它
根据 documentation 的示例,您可以像这样覆盖 save_model
:
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
def save_related(self, request, form, formsets, change):
if not form.cleaned_data['type']:
type, created = Type.objects.get_or_create(name="Teacher")
form.cleaned_data['type'] = [type]
form.save_m2m()
for formset in formsets:
self.save_formset(request, form, formset, change=change)