django仅允许在更新时向m2m字段添加新项
我有一个m2m字段作为-django仅允许在更新时向m2m字段添加新项,django,python-3.x,django-models,django-forms,django-views,Django,Python 3.x,Django Models,Django Forms,Django Views,我有一个m2m字段作为- sizes = models.ManyToManyField(Size,blank=True,related_name='doto_sizes', default=5) 我正在使用通用更新视图更新模型,但我想要的是,在更新尺寸时,用户只能添加新尺寸。不允许他/她删除初始尺寸 为了使之成为可能,我可以在clean方法中定义自定义验证,但我在这里是因为django可能已经为此内置了方法 我甚至不希望用户可以在更新表单中删除初始的大小,我如何才能做到这一点?您可以添
sizes = models.ManyToManyField(Size,blank=True,related_name='doto_sizes', default=5)
我正在使用通用更新视图更新模型,但我想要的是,在更新尺寸时,用户只能添加新尺寸。不允许他/她删除初始尺寸
为了使之成为可能,我可以在clean
方法中定义自定义验证,但我在这里是因为django可能已经为此内置了方法
我甚至不希望用户可以在更新表单中删除初始的大小,我如何才能做到这一点?您可以添加到对您的模型的质疑。py?我可以,但您能告诉我这对您有什么帮助吗?问题本身就很清楚。好的,您可以通过指定m2m关系时始终创建的模型来更新实例。此模型包含两个FK。在您的例子中,一个用于Size
model,另一个用于创建m2m关系的模型。您可以获得此YourModelSizeLink=YourModel.SizeLink。通过并使用此模型可以更新、删除或任何实例。但是最好清楚地创建链接模型,并通过属性size=models传递它。许多域(…,通过='YourLinkModel',…)
阅读此链接模型可以帮助您。