2016-09-07 12 views
5

ManyToMany Field Coming as objectक्षेत्र नाम के साथ Django ManyToMany फ़ील्ड मान

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) 

तो मैं फिल्टर खोज में श्रेणी फ़ील्ड का नाम दिखाना चाहते हैं और बचत करते समय उन्हें वस्तुओं के रूप में सहेजना चाहते हैं।

यह कैसे अनुकूलित manytomany फ़ील्ड का नाम दिखाने के लिए और पर manytomany क्षेत्र

उत्तर

5

की वस्तुओं को बचाने के अपने मॉडल के लिए एक तरीका है जिसके __unicode__ स्ट्रिंग है कि आप उपयोग करना चाहते हैं वापस आ जाएगी जोड़े को बचाने के लिए।

पायथन 3 के लिए, __str__ का उपयोग करें।

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

जो मॉडल MedtechProductCategory या ProductsInfo और क्या filter_horizontal में जोड़ा जाना चाहिए? – Gagan

+0

@ गगन आपके द्वारा बनाए गए प्रत्येक मॉडल पर '__str__' या' __unicode__' विधि शामिल करना अच्छा अभ्यास है। ऊपर दिया गया उदाहरण 'ProductsInfo' मॉडल पर जाना चाहिए। मैं आपके बाकी प्रश्न को समझ नहीं पा रहा हूं। – denvaar

संबंधित मुद्दे