Если у меня есть пара моделей (назовите ваш любимый фреймворк):
# pseudo-code
class Fruit
primary_key = CompositeKey(tenant_id, object_id)
weight = DecimalField()
class Restaurant
primary_key = CompositeKey(tenant_id, object_id)
haz_cheeseburger = BooleanField()
fruit_available = ForeignKey(Fruit) # <-- important part
Возможно ли иметь ограничение базы данных, которое сделает невозможным вставку части Resaturant
who tenant_id
из первичных ключей указывает на TenantA
, а кто fruit_available
s tenant_id
указывает на TenantB
.В основном, защитите меня от случайно связанных объектов, принадлежащих различным арендаторам.