不需要多对多关系给出ValueError

时间:2017-08-01 19:54:38

标签: django python-3.x django-models many-to-many m2m

我有一个问题,我有一个非必需的自我多对多关系,当将一个新对象保存到一个空的psql数据库时,给了我:

编辑:这是我管理员保存时,没有保存模型的视图。

  

ValueError:"视频:Teste"需要为字段" from_video"在此之前可以使用多对多关系。

这是我的模特:

class Video(models.Model):
    title = models.CharField(max_length=200, unique=True)
    subtitle = models.CharField(max_length=400)
    thumbnail = models.ImageField(upload_to='videos/thumbnails')
    related_videos = models.ManyToManyField('self', symmetrical=False, blank=True)

这是我的保存功能:

def save(self, *args, **kwargs):
   if self.id is None:
     # Elasticsearch document creation if word does not exist
            video = VideoDocType(title=self.title, subtitle=self.subtitle, thumbnail=str(self.thumbnail))                                   

            video.save()
   else:
       old_value = Video.objects.get(id=self.id)

       thumbnail_url = str(self.thumbnail)

       video = self._get_video(self)

       if video is None:
                video = VideoDocType(title=self.title, subtitle=self.subtitle, thumbnail=str(self.thumbnail))

                video.save()
            else:
                if old_value.thumbnail != self.thumbnail:
                    thumbnail_url = ("videos/thumbnails/" + thumbnail_url)

                video.update(title=self.title, subtitle=self.subtitle, thumbnail=str(self.thumbnail))

                super(Video, self).save(*args, **kwargs)

我的问题是,当多对多字段中没有要添加任何内容时,为什么非必需字段会给我ValueError?我怎么能解决这个问题?

0 个答案:

没有答案