jobs.py 858 B

12345678910111213141516171819202122232425262728
  1. from core.choices import *
  2. from core.models import Job
  3. from netbox.api.fields import ChoiceField, ContentTypeField
  4. from netbox.api.serializers import BaseModelSerializer
  5. from users.api.serializers_.users import UserSerializer
  6. __all__ = (
  7. 'JobSerializer',
  8. )
  9. class JobSerializer(BaseModelSerializer):
  10. user = UserSerializer(
  11. nested=True,
  12. read_only=True
  13. )
  14. status = ChoiceField(choices=JobStatusChoices, read_only=True)
  15. object_type = ContentTypeField(
  16. read_only=True
  17. )
  18. class Meta:
  19. model = Job
  20. fields = [
  21. 'id', 'url', 'display_url', 'display', 'object_type', 'object_id', 'name', 'status', 'created', 'scheduled', 'interval',
  22. 'started', 'completed', 'user', 'data', 'error', 'job_id',
  23. ]
  24. brief_fields = ('url', 'created', 'completed', 'user', 'status')