मैं निम्नलिखित मॉडल हैं:Django में एक संपादन फ़ॉर्म में एक छवि को बांधने के लिए कैसे?
class Listing(models.Model):
name = models.CharField(max_length=50, verbose_name="Title")
images = models.ManyToManyField('Image')
, ManyToManyField
के साथ इस Image
वर्ग को जोड़ने:
class Image(models.Model):
thumb = ImageField(upload_to='images/uploads/')
number = models.PositiveSmallIntegerField()
और एक इसी ModelForm
तो जैसे:
class ListingEditForm(ModelForm):
image1 = ImageField(required=False, label="Photo 1")
image2 = ImageField(required=False, label="Photo 2")
image3 = ImageField(required=False, label="Photo 3")
class Meta:
model = Listing
exclude = ('images')
विचार करने के लिए है बीए में Listing
से जुड़े चित्रों की संख्या को सीमित न करें ckend, लेकिन इस समय मुझे केवल फॉर्म में 3 छवियों की आवश्यकता है। छवियों को अपलोड करना ठीक काम करता है, लेकिन आप फॉर्म को Listing
उदाहरण में बाध्य करने के बारे में कैसे जाएंगे ताकि जब कोई संपादन फ़ॉर्म देखता है तो छवियां 'कोई नहीं' नहीं होतीं?
जाहिर है, इस अकेले काम नहीं करेगा, क्योंकि image1
, image2
और image3
केवल प्रपत्र फ़ील्ड्स मॉडल का हिस्सा हैं, और नहीं:
form = forms.ListingEditForm(instance=listing)
तो एक शब्दकोश जोड़ने पहले पैरामीटर स्पष्ट की तरह लगता है के रूप में बात करने के लिए:
form = forms.ListingEditForm({'image1': ...},instance=listing)
लेकिन वह ...
का मूल्य क्या होना चाहिए? और मैं इसे Listing
उदाहरण से कैसे प्राप्त करूं?