Django backend for WorkX project
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Ce dépôt est archivé. Vous pouvez voir les fichiers et le cloner, mais vous ne pouvez pas pousser ni ouvrir de ticket/demande d'ajout.

serializers.py 1.0 KiB

1234567891011121314151617181920212223242526272829
  1. from rest_framework import serializers
  2. from drf_writable_nested.serializers import WritableNestedModelSerializer
  3. from .models import Item, Invoice
  4. from project.serializers import ProjectSerializer
  5. class ItemSerializer(serializers.ModelSerializer):
  6. class Meta:
  7. model = Item
  8. fields = ['id', 'name', 'amount', 'quantity', 'invoice', 'item_total']
  9. class InvoiceSerializer(WritableNestedModelSerializer):
  10. items = ItemSerializer(many=True)
  11. class Meta:
  12. model = Invoice
  13. fields = ['id', 'title', 'project', 'invoice_id', 'raised_date', 'due_date', 'paid_date', 'is_archived',
  14. 'invoice_total_with_tax', 'items']
  15. class DetailedInvoiceSerializer(serializers.ModelSerializer):
  16. project = ProjectSerializer(read_only=True)
  17. items = ItemSerializer(many=True)
  18. class Meta:
  19. model = Invoice
  20. fields = ['id', 'title', 'project', 'invoice_id', 'raised_date', 'due_date', 'paid_date', 'is_archived',
  21. 'invoice_total_with_tax', 'items']