2012-12-19 18 views
5

मैं एक भाग सूची बनाने के लिए Django का उपयोग कर रहा हूं जहां मैं काम करता हूं। यहां मेरे मॉडल के स्निपेट हैं:Django मॉडल - मात्रा फ़ील्ड

class Part(models.Model): 
    description = models.CharField(max_length=64) 
    number= models.CharField(max_length=64) 
    price= models.FloatField() 

class Group(models.Model): 
    name = models.CharField(max_length=64) 
    parts = models.ManyToManyField(Part) 

तो मेरे पास कुछ हिस्सों के साथ अलग-अलग समूह (ऑर्डर) हैं।

मैं अपने समूह के हिस्सों के लिए मात्रा संपत्ति रखने के लिए क्या करना चाहता हूं। लेकिन अगर मैं अपने भाग वस्तु में मात्रा फ़ील्ड जोड़ना चाहता हूं, तो प्रत्येक समूह में एक ही मात्रा होगी, जो सही व्यवहार नहीं है। मेरे समूह कैसे याद रख सकते हैं कि उनके पास कितने हिस्से हैं?

आपके इनपुट के लिए धन्यवाद और मुझे उम्मीद है कि यह कुल नोब सवाल नहीं है!

+0

आप एक 'through' तालिका – karthikr

+2

की जरूरत है, कीमतों के लिए तैरता का उपयोग न करें एक DecimalField का उपयोग करें। –

+0

धन्यवाद डैनियल रोज़मन, मैं उस 2 दशमलव स्थानों को पाने के लिए एक रास्ता तलाश रहा था! – Speccy

उत्तर

6

आप की आवश्यकता होगी एक through table:

मध्यवर्ती मॉडल मॉडल है कि एक मध्यस्थ के रूप में कार्य करेगा करने के लिए बात करने के लिए के माध्यम से तर्क का उपयोग ManyToManyField साथ जुड़ा हुआ है।

class Part(models.Model): 
    description = models.CharField(max_length=64) 
    number= models.CharField(max_length=64) 
    price= models.FloatField() 

class Group(models.Model): 
    name = models.CharField(max_length=64) 
    parts = models.ManyToManyField(Part, through='GroupPart') 
4

Group और Part के बीच एक नया through table बनाएं जो मात्रा रखता है।

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