add top for announcement

This commit is contained in:
2024-06-23 12:04:19 +00:00
parent fa8c7cf422
commit 66d40e7c9f
4 changed files with 27 additions and 6 deletions

View File

@@ -0,0 +1,22 @@
# Generated by Django 5.0.6 on 2024-06-23 11:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("announcement", "0004_announcement_tag"),
]
operations = [
migrations.AlterModelOptions(
name="announcement",
options={"ordering": ("-top", "-create_time")},
),
migrations.AddField(
model_name="announcement",
name="top",
field=models.BooleanField(default=False),
),
]

View File

@@ -13,7 +13,8 @@ class Announcement(models.Model):
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
last_update_time = models.DateTimeField(auto_now=True)
visible = models.BooleanField(default=True)
top = models.BooleanField(default=False)
class Meta:
db_table = "announcement"
ordering = ("-create_time",)
ordering = ("-top", "-create_time",)

View File

@@ -9,6 +9,7 @@ class CreateAnnouncementSerializer(serializers.Serializer):
tag = serializers.CharField()
content = serializers.CharField(max_length=1024 * 1024 * 8)
visible = serializers.BooleanField()
top = serializers.BooleanField()
class AnnouncementSerializer(serializers.ModelSerializer):
@@ -33,3 +34,4 @@ class EditAnnouncementSerializer(serializers.Serializer):
tag = serializers.CharField()
content = serializers.CharField(max_length=1024 * 1024 * 8)
visible = serializers.BooleanField()
top = serializers.BooleanField()

View File

@@ -14,11 +14,7 @@ class AnnouncementAdminAPI(APIView):
publish announcement
"""
data = request.data
announcement = Announcement.objects.create(title=data["title"],
content=data["content"],
tag=data["tag"],
created_by=request.user,
visible=data["visible"])
announcement = Announcement.objects.create(**data, created_by=request.user)
return self.success(AnnouncementSerializer(announcement).data)
@validate_serializer(EditAnnouncementSerializer)