场所可以有许多不同的一对一的领域,这就是为什么它可以有书店,餐厅和五金店。但同一地方能同时成为书店和餐馆吗?现在,如果银行和餐馆的桌子没有相同的pk与地点,我会认为答案是肯定的。但我也知道,除非您将parent_link=True放入其中,否则擦除子行会自动删除父行。
我的用例是保存Restaurant的历史,尽管它现在已经成为一家书店,而且如果一家餐馆同时也是一家书店,那么它可以将这两个地方都保留在我的数据库中。对于每一家书店、餐馆和五金店,而不是OneToOne或多表继承,这是最好的方法吗?还是有其他我不知道的方式?这肯定是个解决了的问题,但到目前为止我还没有找到它。我目前正在查看NFL数据库,因为球员可以在不止一支球队(虽然不是同时),他们有记录的历史,他们的球队和个人的统计-看看我是否可以黑进我想要的。
我甚至愿意考虑一家ArrayField或Hstore。我正在使用Postgres 9.4,并试图维护3NF。所有智慧都被接受了。谢谢。
发布于 2016-08-30 23:41:55
我建议你看看这个答案。
将deletion.Collector与手动集合一起使用:
from django.db.models import deletion
collector = deletion.Collector(using=minor._state.db)
collector.add([minor])
collector.delete()https://dba.stackexchange.com/questions/147680
复制相似问题