0

Ich erstelle eine Outfit-App, wo ich drei Modelle Produkt, Kategorie, Outfit habe. Mein Produkt Modell hat Felder (Titel, Slug, Preis, Bild-URL, Farbe, Muster,) Kategorie hat Felder (Titel, Beschreibung und Produkt als Fremdschlüssel zum Produkt) Outfit (Titel, Beschreibung und Produkte mit vielen zu vielen zum Produkt)Django Filter Produkte in admin und fügen Sie ein neues Produkt der Kombination

Meine Frage ist, nachdem ich diese Modelle admin hinzufüge ich will Outfits von Admin-Panel erstellen und hier ist, wo ich feststecke. Wie füge ich mehrere Produkte zu dem Outfit von Admin-Panel, ich habe eine große Datenbank, so dass Auswahl aus Dropdown-Menü ist nicht die Option, die ich möchte, ist Filterset auf Produkt mit allen Feldern und wenn ich Filter zeigt die Produkte möchten auswählen alle gefilterten Produkte und fügen Sie sie dem Outfit hinzu.

ZU BLEIBEN HIER IST EIN BEISPIEL Es gibt ein Outfit mit Burgunder-Streifen-Shirt, dunkelblaue Ladung, schwarzem Ledergürtel und braunen Wildleder Slipper. Jetzt in meinem Admin, wenn ich ein Outfit anlege, muss ich all diese Produkte aus meinem Produktmodell hinzufügen, indem ich Hemd mit (Farbe: Burgund und Muster: Streifen) und dann Ladung mit (Marineblau: Farbe) Gürtel mit (Leder: Material) und Slippern füge mit (Material: Veloursleder und Farbe: braun) Wie Sie sehen können verschiedene Produkte müssen anders gefiltert werden Bitte schlagen Sie mir vor wie kann ich erreichen, dass dies offen zu ändern, um meine Modellstruktur zu ändern Ich möchte dies in bestmöglicher Weise implementieren

Antwort

0

Haben Sie es versucht filter_horizontal? Admin

+0

Keine anpassen können Sie ein Beispiel geben, wie es zu tun habe ich nur mit filterset versucht, nicht filter_horizontal mehrere Attribute filtern können? –

0

benötigen Sie den Admin irgendwie wie diese

#models.py 
class Outfit(models.Model): 

    products = models.ManyToManyField(Product, blank=True) 
    title = models.CharField(max_length=30) 
    description = models.CharField(max_length=255) 

#admin.py 
from django.contrib.admin.widgets import FilteredSelectMultiple 

class OutfitForm(forms.ModelForm):  
    products = forms.ModelMultipleChoiceField(
     required=False, 
     queryset=Product.objects.all(), 
     widget=FilteredSelectMultiple("Products", is_stacked=False), 
     label='') 


class OutfitFormAdmin(admin.ModelAdmin): 
    form = OutfitForm 
    list_display = ('title', 'description', 'products') 
    fieldsets = (
     ('General', { 
      'fields': (
       'title', 
       'description' 
      ) 
     }), 
     ('Select products', { 
      'fields': ('products',) 
     }), 
    ) 
+0

Pavan Ihre Lösung definitiv adressiert, wie ich mehrere Felder auswählen und es meinem Outfit hinzufügen kann, aber das Problem, das ich gegenüberstelle, ist in meinem Produkt Modell hat verschiedene Attribute in Bezug auf ein Produkt für zB ein Shirt Produkt hat Attribute Farbe, Muster, etc. Ich will Um diese Attribute auszuwählen und die Ergebnisse zu filtern, fügen Sie diesen Artikel zu meinem Outfit hinzu. In Ihrem Beispiel erhalte ich eine Suchleiste, um mehrere Produkte zu filtern, aber es gibt keine Möglichkeit, diese Attribute auszuwählen –

Verwandte Themen