2017-07-08 19 views
0

MenuItemsという名前のモデルを作成しました。これはレストランがメニューにあるすべてのアイテムを入力できるようにします。後でこれらをフロントエンドで使用します。また、フロントエンドで、ブートストラップタブにgroup_titleを表示させ、それぞれの下にそのグループの項目を表示できるように、モデル名MenuGroupingを作成しました。それをグループに関連付けるには、どの項目をMenuItemsモデルに追加する必要がありますか?私はgroup = models.ForeignKey(MenuGrouping)を使用しようとしましたが、特定のグループの各項目を表示する問題にぶつかりました。モデルを使ってDjangoでグループ化を確立するにはどうしたらいいですか?

Models.py:

class MenuItems(models.Model): 

    menu_item_title = models.CharField(max_length=256) 
    menu_item_description = models.TextField() 
    menu_item_price = models.DecimalField(max_digits=4, decimal_places=2) 

    customer_favorite = models.BooleanField(default=False) 
    is_on_menu = models.BooleanField(default=True) 

class Meta: 
    ordering = ('menu_item_title',) 


class MenuGrouping(models.Model): 
    group_title = models.CharField(max_length=256) 

私は複数のMenuItemを関連付けることができMenuGroupingモデルに追加できる関係がありますか?

ありがとうございます!

答えて

1

私はあなたが飲み物、食べ物、砂漠のようなグループを作成しようとしていることを正しくあなたを理解して...場合は、ここにある:

各項目は一つのグループだけにすることができ、私はソーダの飲み物であることを意味します(食べ物も食べられないなど)。ですからここで行う必要があるのは、MenuItemsモデルにフィールドを追加することです。あなたの場合は

{% for group in groups %) 

    # add your tabs or just print the group name. or how ever you want. 

    Group {{ group.group_title }}: 

    # and now you can list the items in this group here 

    {% for item in group.menuitems_set.all %} 
     Title is: {{ item.menu_item_title }} 
     Price is: {{ item.menu_item_price }} 
     ... 
    {% endfor %} 
{% endfor %} 

を:最初のビューでグループを取得し、テンプレートと、その後にそれらを送るあなたのテンプレートでこれを使用するために今すぐ

class MenuItems(models.Model): 

    menu_item_title = models.CharField(max_length=256) 
    menu_item_description = models.TextField() 
    menu_item_price = models.DecimalField(max_digits=4, decimal_places=2) 

    customer_favorite = models.BooleanField(default=False) 
    is_on_menu = models.BooleanField(default=True) 
    group = models.ForeignKey(MenuGrouping) 

あなたのMenuItemは次のようにする必要がありますグループのどこか他の場所にリストされている必要があるすべてのアイテムやその他の方法でアイテムをテンプレートに送信するだけです。 またMany-to-one relationships

あなたはMenuGroupingにM2M関係を追加し、各グループに項目を追加したが、その後1つの項目が複数のグループにすることができ、レストランのメニューのためにすることができます:ここで

多く対1の関係の文書であります私はそれがどうなるか見ることができません。

関連する問題