Насколько я понимаю, родительский атрибут db.Model (обычно определяется / передается в вызове конструктора) позволяет вам определять иерархии в ваших моделях данных. В результате увеличивается размер группы сущностей. Однако мне не очень понятно, зачем нам это нужно. Это строго для соответствия ACID? Я хотел бы видеть сценарии, в которых каждый из них подходит лучше всего или более уместен.






Единственная цель групп сущностей (определяемая родительским атрибутом) - обеспечивать транзакции между разными сущностями. Если вам не нужны транзакции, не используйте отношения групп сущностей.
Я предлагаю вам перечитать раздел документации Ключи и группы сущностей, мне потребовалось немало прочтений, чтобы понять идею.
Также посмотрите эти разговоры, среди прочего они обсуждают транзакции и группы сущностей:
Есть несколько отличий:
Стоит также отметить, что вы можете создавать объекты с одним и тем же родительским ключом, даже если этот родительский элемент на самом деле не существует, поэтому вы можете помещать вещи в одну и ту же группу, даже не указывая одну из них в качестве родительской. Я не могу сказать, что могу придумать вескую причину для этого!