를 통해 저장되지 나는 Modelform 있습니다Many2ManyField이 Modelforms
class POwner4NewModel(ModelForm):
class Meta:
model = ProductOwner
exclude = ("o_owner","o_owner_desc","o_product_model","o_main_image","o_thumbnail","o_gallery_images","o_timestamp","o_status")
이 모델의 스키마입니다 :
def save_m_owner(self, request):
form = POwner4NewModel(request.POST, request.FILES)
form = form.save(commit=False)
form.o_owner = request.user
form.o_owner_desc = self.product_model.p_description
form.o_product_model = self.product_model
form.o_status = "unapproved"
form.o_main_image = self.product_model.p_main_image
form.save()
: 이것은 내 코드는 양식을 저장하려고
class ProductOwner(models.Model):
o_owner = models.ForeignKey(User, verbose_name="Owner")
o_owner_desc = models.TextField(verbose_name="Seller Description")
o_product_model = models.ForeignKey(ProductModel, verbose_name="Product")
o_main_image = models.ImageField(upload_to=settings.CUSTOM_UPLOAD_DIR, verbose_name="Product Main Image", blank=True)
o_thumbnail = models.ImageField(upload_to=settings.CUSTOM_UPLOAD_DIR, verbose_name="Product Thumbnail (100x100)px", blank=True)
o_gallery_images = models.ManyToManyField(ProductImages, verbose_name="Product Gallery Images", related_name="product_images", blank=True)
o_status = models.CharField(max_length=100, choices=PRODUCT_STATUS, verbose_name="Product Status", default="approved")
o_timestamp = models.DateTimeField(auto_now_add=True, verbose_name="Date Created")
o_internationlisation = models.ManyToManyField(Countries, verbose_name="Available in", related_name="product_countries")
form.save_m2m()을 추가하려고했지만 양식에 해당 속성이 없다고 말합니다. 이제는 o_internationlisation을 사용하는 필드에서 m2m이 저장되지 않습니다. 내가 여기서 뭘 잘못하고 있는지 잘 모르겠다. 도움을받을 수 있었다. 고마워! 당신은 당신이 다음합니다 (instance.save()
후 물론) form.save_m2m()
사용할 수 있어야 다른 instance = form.save(commit=False)
등과 같은 것을 사용 form = form.save(commit=False)
시도했던 모델 인스턴스와 form
을 덮어 때문에
여기서'save_m2m() '을 (를) 호출하려고합니까? 'save()'메소드를 따라야한다. Btw 첫 번째 코드 예제에서 마지막 줄의 끝에'v'가 있습니다 (typo?). –
save(), 오타자, 그 점을 발견해 주셔서 감사합니다.) – nubela