Relationship with Django Admin

-1

I'm a beginner with Python and Django and I'm doing a generic menu, I'd like to know how to list in the Django Admin menu-related items in the Menu ModelAdmin

class Menu(models.Model):
        menu = models.CharField('Menu', max_length=150)

     def __str__(self):
         return self.menu

class Item(models.Model):
          label = models.CharField('Item', max_length=150)
          url = models.CharField('Url', max_length=150)
          menu = models.ForeignKey(Menu)

     def __str__(self):
        return self.label
    
asked by anonymous 31.07.2017 / 23:18

2 answers

1

If I understood your question correctly, to make a given model available on the admin page, just go to your admin.py and sign up for your model there:

from django.contrib import admin
from .models import Menu, Item

admin.site.register(Menu)
admin.site.register(Item)

Send feedback if the solution is correct.

    
01.08.2017 / 02:07
0

Each Django application has an admins.py file where you can register your templates on the Django admin page.

If you want to list the items, you would:

from .models import Item

class ItensAdmin(admin.ModelAdmin):
    #List_display são itens que irá mostrar na tabela.
    list_display = ('label', 'url', 'menu')

    '''
    List_filter é caso queira filtrar o item por alguma opção. Não é 
    necessário usar de acordo com o que você tem, mas mesmo assim é bom 
    saber caso precise em outro momento. No exemplo, filtrei por hidden, ou 
    seja, quando clickar na opção hidden que irá aparecer no painel, ele me 
    mostrará os itens que estão invisiveis.
    list_filter = ['hidden']
    Por último, você irá registrar seu model para que ele aparece lá.
    admin.site.register(Model, Classe que criamos no Django Admin)
    o seu ficará:
    admin.site.register(Item, ItensAdmin)
    '''
    
08.08.2017 / 09:40