私はページメニューの基本的な管理を可能にするためにDjango管理者を使用しようとしています。私は必要に応じてドロップダウンを可能にするサブメニューで拡張することを決めた1つのプリンシパルメニューを持っています。サブメニュー項目はメインメニュー項目と同じ項目を持つため、継承を使用することをお勧めします。したがって、サブメニューはメインメニューからすべての項目を継承するだけでなく、外部キー関係を持つようになります。両方のモデルでDjangoモデルの継承データを保存
# main menu
class MainMenu(models.Model):
title = models.CharField(max_length=50)
url = models.URLField()
def __unicode__(self):
return self.title
class Meta:
verbose_name_plural = "Main Menu Items"
# submenu - for drop downs
class SubMenu(MainMenu):
main_menu = models.ForeignKey(MainMenu, related_name='+', null=True, blank=True)
class Meta:
verbose_name_plural = "Sub Menu Items"
は私が管理してモデルを登録し、私はサブメニュー内の項目を保存するときだけでなく、それがメインメニューで同じエントリを行い、サブメニューに入りありません。私が間違っていることは何ですか? DjangoにMainMenuのメソッドを継承せずに保存することをDjangoに何らかの方法で伝える必要がありますか?どんな助けでも大歓迎です。
これは、継承がdjangoでどのように機能するかです。だからあなたはあなたに最も合ったものを選ぶ必要があります:継承や外来キー。両方を使うのは意味がありません – juliomalegria
ベースクラスの作成を避けることで時間を節約できると思っていましたが、実際はとても速かったです。これは間違いなくそれを行う方法です。すべての有用な入力をありがとう! –