【发布时间】:2022-01-25 18:11:17
【问题描述】:
我在尝试编写正确的模型以将多个图像上传到我的 Django 应用程序时遇到了很多麻烦。我希望能够通过 django 管理员上传这些图片。我曾尝试使用 ImageField,但它一次只允许一张图片,而且我还希望能够调整图像大小。
这是我的models.py:
class Lesson(models.Model):
DRAFT = 'draft'
PUBLISHED = 'published'
CHOICES_STATUS = (
(DRAFT, 'Draft'),
(PUBLISHED, 'Published')
)
ARTICLE = 'article'
QUIZ = 'quiz'
CHOICES_LESSON_TYPE = (
(ARTICLE, 'Article'),
(QUIZ, 'Quiz')
)
course = models.ForeignKey(Course, related_name='lessons', on_delete=models.CASCADE)
title = models.CharField(max_length=255)
slug = models.SlugField()
short_description = models.TextField(blank=True, null=True)
long_description = models.TextField(blank=True, null=True)
status = models.CharField(max_length=20, choices=CHOICES_STATUS, default=PUBLISHED)
lesson_type = models.CharField(max_length=20, choices=CHOICES_LESSON_TYPE, default=ARTICLE)
Serializer.py:
class LessonListSerializer(serializers.ModelSerializer):
class Meta:
model = Lesson
fields = ('id', 'title', 'slug', 'short_description', 'long_description')
Admin.py:
class LessonAdmin(admin.ModelAdmin):
list_display = ['title', 'course', 'status', 'lesson_type']
list_filter = ['status', 'lesson_type']
search_fields = ['title', 'short_description', 'long_description']
inlines = [LessonCommentInline]
【问题讨论】:
标签: python django vue.js django-models django-admin