微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在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 举报,一经查实,本站将立刻删除。