from rest_framework import serializers class DagensLunch(serializers.Serializer): place = serializers.CharField(max_length=20) monday = serializers.CharField() tuesday = serializers.CharField() wednesday = serializers.CharField() thursday = serializers.CharField() friday = serializers.CharField() scraped_by = serializers.CharField(max_length=40) scraped_at = serializers.DateTimeField() class Meta: fields = ("place", "monday", "tuesday", "wednesday", "thursday", "friday", "scraped_by", "scraped_at") read_only_fields = ("place", "monday", "tuesday", "wednesday", "thursday", "friday", "scraped_by", "scraped_at") class DagensLunchMax(DagensLunch): class Meta(DagensLunch.Meta): pass class DagensLunchValsaren(DagensLunch): week = serializers.CharField() alltid = serializers.CharField() klassiker = serializers.CharField() price = serializers.DecimalField(max_digits=6, decimal_places=2) price_takeaway = serializers.DecimalField(max_digits=6, decimal_places=2) class Meta(DagensLunch.Meta): fields = DagensLunch.Meta.fields + ( "week", "alltid", "klassiker", "price", "price_takeaway" ) read_only_fields = DagensLunch.Meta.read_only_fields + ( "week", "alltid", "klassiker", "price", "price_takeaway" ) class DagensLunchVarda(DagensLunch): about = serializers.CharField() alltid = serializers.CharField() kaninen = serializers.CharField() fisken = serializers.CharField() pasta = serializers.ListField() sallad = serializers.CharField() burgare = serializers.ListField() grillat = serializers.CharField() class Meta(DagensLunch.Meta): fields = DagensLunch.Meta.fields + ( "about", "alltid", "kaninen", "fisken", "pasta", "sallad", "burgare", "grillat" ) read_only_fields = DagensLunch.Meta.read_only_fields + ( "about", "alltid", "kaninen", "fisken", "pasta", "sallad", "burgare", "grillat" ) class DagensLunchMalmens(DagensLunch): week = serializers.CharField() monday = serializers.ListField() tuesday = serializers.ListField() wednesday = serializers.ListField() thursday = serializers.ListField() friday = serializers.ListField() class Meta(DagensLunch.Meta): fields = DagensLunch.Meta.fields + ( "week", ) read_only_fields = DagensLunch.Meta.read_only_fields + ( "week", ) class DagensLunchHeat(DagensLunch): monday = serializers.ListField() tuesday = serializers.ListField() wednesday = serializers.ListField() thursday = serializers.ListField() friday = serializers.ListField() week = serializers.CharField() class Meta(DagensLunch.Meta): fields = DagensLunch.Meta.fields + ( "week", ) read_only_fields = DagensLunch.Meta.read_only_fields + ( "week", )