| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from django.contrib.auth.models import User
- from smartfarming.models.agriculture import KnowledgeCategory, KnowledgeManage, Information
- from rest_framework import serializers
- from smartfarming.models.user import DeviceUser
- class KnowledgeCategorySerializer(serializers.ModelSerializer):
- class Meta:
- model = KnowledgeCategory
- fields = "__all__"
- class KnowledgeManageSerializer(serializers.ModelSerializer):
- category = serializers.SerializerMethodField()
- category_id = serializers.SerializerMethodField()
- is_top = serializers.SerializerMethodField()
- def get_is_top(self, obj):
- return True if obj.is_top else False
- def get_category(self, obj):
- try:
- category = KnowledgeCategory.objects.get(id=obj.category)
- return category.title
- except:
- return ""
- def get_category_id(self, obj):
- return obj.category
- class Meta:
- model = KnowledgeManage
- fields = [
- "id",
- "category",
- "title",
- "is_top",
- "related_plan",
- "addtime",
- "img",
- "origin",
- "content",
- "is_delete",
- "category_id",
- "count"
- ]
- class InformationSerializer(serializers.ModelSerializer):
- user = serializers.SerializerMethodField()
- def get_user(self, obj):
- us = DeviceUser.objects.get(uid=obj.user)
- auth_user = User.objects.get(id=obj.user)
- return us.real_name if us.real_name else auth_user.username
- class Meta:
- model = Information
- fields = "__all__"
|