# Many to many field validation in django

**URL:** <https://forum.djangoproject.com/t/many-to-many-field-validation-in-django/14701>\
**Category:** The Admin\
**Created:** [July 8, 2022, 12:56pm UTC](https://forum.djangoproject.com/t/many-to-many-field-validation-in-django/14701 "2022-07-08T12:56:44Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![deloo](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/deloo/32/9204_2.png) [@deloo](https://forum.djangoproject.com/u/deloo)\
**Post date:** [July 9, 2022, 1:06am UTC](https://forum.djangoproject.com/t/many-to-many-field-validation-in-django/14701/11 "2022-07-09T01:06:10Z")

</div>

Solution:

```python
class MyForm(ModelForm):
    def clean(self):
        ok = False
        with transaction.atomic(savepoint=True, durable=False):
            ok = check(self.save(commit=True))
            transaction.set_rollback(True)
        if not ok:
            raise ValidationError(f'MyModel {self.instance.id} violates validation checks.')
        return super().clean()

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    form = MyForm

```

---

_[View the full topic](https://forum.djangoproject.com/t/many-to-many-field-validation-in-django/14701)._
