解决django 站内消息通知-不适用第三方包

新建模型

  1. class InStationMessages(models.Model):
  2. name = models.CharField("标题", max_length=100)
  3. title = models.TextField("内容", max_length=1000, null=True, blank=True)
  4. Creation_time = models.DateTimeField("记录创建时间", auto_now_add=True)
  5. def __str__(self):
  6. return f"{self.name}: {self.title[30]}"
  7. class Meta:
  8. db_table = "InStationMessages"
  9. verbose_name = "站内消息"
  10. verbose_name_plural = verbose_name

后台注册

  1. @admin.register(InStationMessages)
  2. class InStationMessagesAdmin(admin.ModelAdmin):
  3. pass

定义序列化器

  1. class InStationMessagesSerializers(serializers.ModelSerializer):
  2. class Meta:
  3. model = InStationMessages
  4. fields = '__all__'

书写视图集

  1. class InStationMessagesViewSet(ReadOnlyModelViewSet):
  2. """站内消息信息管理"""
  3. queryset = InStationMessages.objects.all()
  4. serializer_class = InStationMessagesSerializers
  5. pagination_class = BasePagination
  6. filter_backends = [DjangoFilterBackend]
  7. filter_fields = ('name',)

注册路由

  1. from rest_framework.routers import DefaultRouter
  2. routers = DefaultRouter()
  3. """
  4. 其他接口
  5. """
  6. routers.register("InStationMessages", InStationMessagesViewSet, basename="站内消息信息管理")

使用预览