Python Django模型字段需要在具有共享抽象基类的多个模型上是唯一的

Python Django模型字段需要在具有共享抽象基类的多个模型上是唯一的,python,django,Python,Django,假设我想有多种文章,都可以在site.com/news/article-slug上找到 (因此,根据文章slug,它可以是视频文章、文本文章、图像滑块文章等) 我有这些模型: 类文章(models.Model): 类元: 抽象=真 slug=models.SlugField(最大长度=60,唯一性=True) 类文本文章(文章): content=models.TextField() 课堂视频文章(文章): 视频=型号。外键(视频) 但问题是,我可以用相同的slug创建文本文章和视频文章 有没

假设我想有多种文章,都可以在site.com/news/article-slug上找到 (因此,根据文章slug,它可以是视频文章、文本文章、图像滑块文章等)

我有这些模型:

类文章(models.Model):
类元:
抽象=真
slug=models.SlugField(最大长度=60,唯一性=True)
类文本文章(文章):
content=models.TextField()
课堂视频文章(文章):
视频=型号。外键(视频)
但问题是,我可以用相同的slug创建文本文章和视频文章

有没有一种简单的方法来修复它,这样,如果已经有一个视频文章带有特定的slug,那么就没有文本文章可以添加相同的slug(反之亦然)

如果没有简单的解决方法:

  • 我应该使用数据库查询进行自定义表单验证吗
  • 我是否应该将基类抽象化
  • 还有其他想法吗

提前谢谢

听起来您实际上并不想要抽象类,而是希望Article类成为所有子类都引用的表:


或者,如果它们都指向同一个表,请使用代理模型:非常感谢!只是没有一个抽象基类解决了它:)