Django ManyToManyField Model Manager

В моем исходном коде Python Django 3.7 у меня есть следующие модели:

class ExampleForeignKey(models.Model):
    name = models.Charfield(max_length=200)
    fields = models.ManyToManyField('ExampleField', related_name='example_foreign_keys')

class ExampleField(models.Model):
    name = models.Charfield(max_length=200)

У меня возникла проблема с дублированием базы данных при использовании потокового метода с исходным кодом:

example_field_obj = ExampleField(name='example_field_name')
example_foreign_key_obj = example_field_obj.example_foreign_keys.get_or_create(name='example_foreign_key_name')

Мне удалось переопределить метод менеджера моделей get_or_create() и применить multithreading.Lock() в других случаях, когда менеджер моделей используется непосредственно в случае прямых отношений 1:1, однако. Я не знаю, можно ли применить тот же принцип в случае отношений ManyToManyField?

Прошу прощения, если об этом уже спрашивали в другом месте - я не могу найти много информации по этому конкретному вопросу.

Вернуться на верх