如何在Django中创建多对多字段的子弹?

问题描述

我想在模型保存时使用三个字段(一个charfield和两个ManytoMany字段)为我保存模型,但是在保存时出错。 这是我的代码

标题## class product(models.Model):

id = models.AutoField(primary_key=True)
image = models.ForeignKey(all_images,verbose_name='Product Images',on_delete=models.CASCADE,related_name='proimages')
ProductName = models.CharField(max_length=200,null=False,default="None",blank=False,verbose_name="Product Name")
CategoryName = models.ManyToManyField(category,related_name='procat',verbose_name="Category Name")
SubcatName = models.ManyToManyField(subcategory,related_name='prosubcat',verbose_name="Sub-category Name")

description = RichTextUploadingField(blank= False,verbose_name="Description")
price = models.IntegerField(default=100,null=True,blank=True,verbose_name='Price')

slug = models.SlugField(max_length=55,null=True)


def get_slug(self):
    slug = self.ProductName
    try:
        for items in self.SubcatName.all():
            slug +=items.name
        try:
            for items in self.CategoryName.all():
                slug +=items.CategoryName
        except:
            pass
    except:
        pass
    return slugify(slug)

def save(self,* args,** kwargs):

    if not self.slug:
        self.slug = self.get_slug()
    super(product,self).save(*args,**kwargs)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)