对不起,我想不出更好的方式来描述标题中的问题,如果可以的话,请随时编辑:)
我的问题是:在 Django 中,我有一个名为 Item 的抽象类(子类化 models.Model)。然后我有一堆 Item 的子类,例如 FoodItem、BookItem、ToyItem... 我决定采用这种结构是因为每个 Item 都具有几乎相同的字段(Item name 等),但用法会有所不同,具体取决于它是什么类型。
但是,我希望每个项目都有一个唯一的标识符,以便我可以轻松地引用它。由于每个子类都是自己的数据库表,我认为我不能使用主键。我怎样才能让每个项目都有一个唯一的 id,而不是每个 FoodItem 都有唯一的 id 但可能与 BookItems 等重叠......最后,当我通过它的 id 获得一个项目时,有没有一种优雅的方式来判断什么项目类型这是?
如果有更好的方法,我愿意以不同的方式做这件事。谢谢。