django - Is it possible to define names of model's fields dynamically? -


अब मेरे पास यह कोड है:

  वर्ग Mymodel (models.Model): xxxx_count = ForeignCountField (फिल्टर = { 'foreign_table__xxxx': यह सच है}) yyyy_count = ForeignCountField (फिल्टर = { 'foreign_table__yyyy': यह सच है}) zzzz_count = ForeignCountField (फिल्टर = { 'foreign_table__zzzz': यह सच है}) qqqq_count = ForeignCountField (फिल्टर = { 'foreign_table__qqqq' : यह सच है}) ssss_count = ForeignCountField (फिल्टर = { 'foreign_table__ssss': यह सच है}) rrrr_count = ForeignCountField (फिल्टर = { 'foreign_table__rrrr': यह सच है})  

मैं कुछ इस तरह हैं: < / p>

 <कोड> वर्ग Mymodel (models.Model): [ 'xxxx', 'yyyy', 'ZZZZ', 'qqqq', 'ssss', 'rrrr'] में कोड के लिए: setattr (स्वयं, '% S_count'% code, ForeignCountField (filter = {'foreign_table __% s'% code: true}))  

लेकिन जब मैं ऐसा करने की कोशिश करता हूं, तो त्रुटि उठाई: "स्वयं नहीं ' टी परिभाषित " क्या मुझे इस कोड को किसी अन्य जगह में डालनी है?

अगर आप मॉडल परिभाषा के बाहर फ़ील्ड जोड़ना चाहते हैं आप का उपयोग करने के लिए add_to_class मॉडल विधि:

  वर्ग Mymodel (models.Model): [ 'xxxx', 'yyyy', 'ZZZZ' में कोड के लिए गुजरती हैं, 'Qqqq', 'ssss', 'rrrr']: Mymodel.add_to_class ('% s_count'% code, ForeignCountField (फ़िल्टर = {'विदेशी _table __% s'% code: true})))  

Comments