/ / कस्टम विस्तार योग्य मॉडल बिल्डिंग - django, django-model

बिल्डिंग कस्टम एक्सटेंटेबल मॉडल - डीजेंगो, डीजेंगो-मॉडल

कहो मेरे पास एक मॉडल है ग्राहक मूल जानकारी जैसे कि पहला नाम, अंतिम नाम, ईमेल इत्यादि। यदि मैं चाहता हूं कि उपयोगकर्ता एक और कस्टम फ़ील्ड जोड़ने में सक्षम हो (केवल उसके लिए) कुल मूल्य (एक पाठ क्षेत्र)। यह उपयोगकर्ता अब अपने सभी ग्राहकों को नेट वर्थ जानकारी जोड़ने में सक्षम होगा। एक और उपयोगकर्ता जोड़ना चाहता है कॉल नोट्स अपने सभी ग्राहकों के लिए।

मैं ऐसे मॉडल को डिजाइन करने के बारे में कैसे जा सकता हूं जो विभिन्न उपयोगकर्ताओं से ऐसे कस्टम जोड़ों को संभाल सके? और, क्या मैं ऐसा करने का प्रयास कर रहा हूं जिसके लिए मैं एक कोशिश कर रहा हूं?

अद्यतन करें:

कई खाते हैं और प्रत्येक खाते में हैग्राहकों का एक सेट। मैं सभी मूल्यों को स्टोर करने के लिए सभी विस्तारित फ़ील्ड और क्लाइंटCharAttribues मॉडल का ट्रैक रखने के लिए क्लाइंट चेहर इंडेक्स मॉडल का उपयोग करने के बारे में सोच रहा हूं।

class Client(Model):
account = models.ForeignKey(Account)
first_name = Model.CharField()
last_name = Model.CharField()
...

class ClientCharIndex(Model):
account = models.ForeignKey(Account)
name = Model.CharField()

class ClientCharAttribues(Model):
key = models.ForeignKey(ClientCharIndex)
client = models.ForeignKey(Client)
value = Model.CharField()

उत्तर:

उत्तर № 1 के लिए 1

आप क्या कर सकते हैं एक मॉडल को केवल कुंजी-मूल्य फ़ील्ड (और प्रकार हो सकता है) के साथ परिभाषित करना है और इसमें एम 2 एम या विदेशी संबंध है client आदर्श।

कुछ इस तरह:

class Client(Model):
...

class UserAttribues(Model):
key = Model.CharField()
value = Model.CharField()
client = Model.ManyToManyField(Client)

इसके साथ आप क्लाइंट ऑब्जेक्ट और उनमें से किसी भी संख्या में कोई भी महत्वपूर्ण-मूल्य जानकारी जोड़ सकते हैं।