4.如何在Django-admin添加数据库视图

你有这样创建的数据库视图:

  1. create view entities_entity as
  2. select id, name from entities_hero
  3. union
  4. select 10000+id as id, name from entities_villain

它具有HeroVillain所有的名称, Villain的id设置为10000+id,因为我们不打算横过10000名Heros

  1. sqlite> select * from entities_entity;
  2. 1|Krishna
  3. 2|Vishnu
  4. 3|Achilles
  5. 4|Thor
  6. 5|Zeus
  7. 6|Athena
  8. 7|Apollo
  9. 10001|Ravana
  10. 10002|Fenrir

然后添加一个managed=False模型:

  1. class AllEntity(models.Model):
  2. name = models.CharField(max_length=100)
  3. class Meta:
  4. managed = False
  5. db_table = "entities_entity"

并添加到admin:

  1. @admin.register(AllEntity)
  2. class AllEntiryAdmin(admin.ModelAdmin):
  3. list_display = ("id", "name")

你的admin看起来像这样: 4.如何在Django-admin添加数据库视图 - 图1