मुझे अपने मॉडल में से एक में समस्या है। मैं एक छवि अपलोड कर रहा हूं, और मैं आईडी (डेटाबेस तालिका में पीके) को स्टोर करना चाहता हूं लेकिन मुझे पता होना चाहिए कि किस बिंदु पर Django को self.id
तक पहुंच होगी।Django - एक नई वस्तु को सहेजते समय self.id कैसे प्राप्त करें?
models.py
class BicycleAdItemKind(MPTTModel):
def url(self, filename):
pdb.set_trace()
url = "MultimediaData/HelpAdImages/ItemKind/%s/%s" % (self.id, filename)
return url
def item_kind_image(self):
return '<img align="middle" src="/media/%s" height="60px" />' % self.image
item_kind_image.allow_tags = True
# Bicicleta completa, Componentes para bicicleta, Acessorios para ciclista
n_item_kind = models.CharField(max_length=50)
parent = TreeForeignKey('self', null=True,
blank=True, related_name='children')
description = models.TextField(null=True, blank=True)
image = models.ImageField(upload_to=url, null=True, blank=True)
date_inserted = models.DateTimeField(auto_now_add=True)
date_last_update = models.DateTimeField(auto_now=True)
def __unicode__(self):
return self.n_item_kind
class MPTTMeta:
order_insertion_by = ['n_item_kind']
समस्या url()
विधि में है; ऑब्जेक्ट को अपडेट करते समय मुझे केवल self.id
मिल सकता है, मुझे कोई नई ऑब्जेक्ट बनाते समय self.id
नहीं मिलता है। मैं इस मॉडल को कैसे संशोधित कर सकता हूं ताकि मुझे कोई नई वस्तु बनाते समय self.id
मिल सके?
, जब मैं एक नई वस्तु बना रहा हूं मैं की तरह एक यूआरएल के साथ खत्म हो जाएगा:
MultimediaData/HelpAdImages/ItemKind/None/somefile.jpg
और मैं कुछ तरह की आवश्यकता है:
MultimediaData/HelpAdImages/ItemKind/35/somefile.jpg
कोई सुराग ?
क्या आप 'url()' फ़ंक्शन का उपयोग कहां से उजागर कर सकते हैं? – tushar747
इसका उपयोग क्षेत्र छवि में किया जाता है, "image = models.ImageField (upload_to = url, null = true, blank = True)"। जब छवि अपलोड की जा रही है तो विधि सक्रिय है। –