2016-09-07 56 views
5

ManyToMany Field Coming as objectDjango ManyToMany Pole z nazwą pola wartości

model.py

class MedtechProductCategory(models.Model): 
name = models.CharField(max_length=128, null=False, blank=False) 
type = models.CharField(choices=type_choices_for_tag, max_length=512) 

class Meta: 
    db_table = 'medtech_product_category' 

class ProductsInfo(models.Model): 
deal_active = models.BooleanField(default=True) 
category = models.ManyToManyField(MedtechProductCategory, related_name='product_info_category') 

class Meta: 
    db_table = 'products_info' 

def getTags(self): 
    return self.category.values_list() 

admin.py

class ProductsInfoAdmin(admin.ModelAdmin): 
filter_horizontal = ('category',) 
admin.site.register(ProductsInfo, ProductsInfoAdmin) 

więc chcę pokazać nazwę pola kategorii w poszukiwaniu filtra i chcesz zachować je jako obiekty podczas robienia zdjęcia.

Jak dostosować go, aby pokazać nazwę pola manytomany i zapisać zapisać przedmiotów dziedzinie manytomany

Odpowiedz

5

Dodaj __unicode__ metodę do modelu, który będzie zwracać ciąg, który chcesz użyć.

Dla pytona 3 użyj zamiast niego __str__.

# on ProductsInfo model 
def __str__(self): 
    return self.category.name 
+0

który model MedtechProductCategory lub ProductsInfo i co powinno zostać dodane do filter_horizontal? – Gagan

+0

@Gagan Dobrze jest dołączyć metodę "__str__" lub "__unicode__" do każdego tworzonego modelu. Powyższy przykład powinien iść w modelu "ProductsInfo". Nie rozumiem reszty twojego pytania. – denvaar