По сути, у меня есть две таблицы: Page (PK = url) и PageProperty (PK = url + name).
Вот как я настроил свои модели:
class Page(model.Model):
url = model.CharField(primary_key=True, max_length=255, db_column='url')
#.....
class PageProperty(model.Model):
# table with compound key (url + name)
url = model.ForeignKey('Page', to_field='url', db_column='url', primary_key=True)
name = model.CharField(primary_key=True, max_length=20)
value = model.TextField()
У меня настроен ModelAdmin, поэтому я могу оперативно редактировать PageProperty (s) со страницы. Это устаревшая база данных, и я знаю, что там много данных. Но администратор показывает только ОДИН из PagePropertys, а не все.