Я сообщу, что думаю, что вы, скорее всего, неправильно подходите к своей базовой проблеме.Тем не менее, вот код для настраиваемого поля, которое будет эффективно хранить набор идентификаторов:
class SetField(models.TextField):
__metaclass__ = models.SubfieldBase
def get_prep_value(self, value):
if value is None:
return json.dumps([])
return json.dumps(list(value))
def to_python(self, value):
if isinstance(value, set):
return value
if not value:
return set()
return set(json.loads(value))