मैं तो की तरह, एक अजगर संपत्ति के साथ एक Django मॉडल स्थापित करने के लिए कोशिश की है:Django मॉडल और अजगर गुण
class Post(models.Model):
_summary = models.TextField(blank=True)
body = models.TextField()
@property
def summary(self):
if self._summary:
return self._summary
else:
return self.body
@summary.setter
def summary(self, value):
self._summary = value
@summary.deleter
def summary(self):
self._summary = ''
अब तक तो अच्छा है, और कंसोल में मैं सारांश संपत्ति के साथ बातचीत कर सकते हैं बस ठीक। लेकिन जब मैं इसके साथ Django-y कुछ भी करने की कोशिश करता हूं, जैसे Post(title="foo", summary="bar")
, यह एक फिट फेंकता है। क्या पाइथन गुणों के साथ अच्छा खेलने के लिए Django प्राप्त करने का कोई तरीका है?
यह पायथन (http://docs.python.org/library/functions.html#property) में मानक विधि है - मैं बस 'संपत्ति' को स्पष्ट रूप से कॉल करने के बजाय सजावटी शैली का उपयोग कर रहा हूं। – futuraprime
आपका मतलब है 'पोस्ट (बॉडी = "फू", सारांश = "बार")'? (ध्यान दें कि 'शीर्षक' के बजाय 'body')। यह काम करना चाहिए। – okm
@okm मैंने टाइपो को ठीक किया। यह 'पोस्ट (शीर्षक = "foo", सारांश = "बार") कहता था, जो एक स्पष्ट टाइपो था। – Buttons840