class CountrySerializer(DynamicFieldsModelSerializer): class BasicCitySerializer(serializers.ModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='cities:city-detail') class Meta: model = geodata.models.City fields = ( 'url', 'id', 'name' ) url = serializers.HyperlinkedIdentityField(view_name='countries:country-detail') region = RegionSerializer(fields=('url', 'code', 'name')) un_region = RegionSerializer(fields=('url', 'code', 'name')) unesco_region = RegionSerializer(fields=('url', 'code', 'name')) capital_city = BasicCitySerializer() location = JSONField(source='center_longlat.json') polygon = JSONField() activities = serializers.SerializerMethodField() cities = serializers.SerializerMethodField() def get_activities(self, obj): request = self.context.get('request') url = request.build_absolute_uri(reverse('activities:activity-list')) return url + '?recipient_country=' + obj.code def get_cities(self, obj): request = self.context.get('request') url = request.build_absolute_uri(reverse('cities:city-list')) return url + '?country=' + obj.code class Meta: model = geodata.models.Country fields = ( 'url', 'code', 'pk', 'numerical_code_un', 'name', 'alt_name', 'language', 'capital_city', 'region', 'un_region', 'unesco_region', 'dac_country_code', 'iso3', 'alpha3', 'fips10', 'data_source', 'activities', 'cities', 'location', 'polygon', )
class Sale(models.Model): name = models.TextField() address1 = models.TextField() address2 = models.TextField(null=True, blank=True) city = models.TextField() state = models.TextField() zipcode = models.TextField() total = models.DecimalField(max_digits=10, decimal_places=2) items = JSONField(default=dict) payment_intent = JSONField(default=dict)
class Sale(models.Model): name = models.TextField() address1 = models.TextField() address2 = models.TextField(null=True, blank=True) city = models.TextField() state = models.TextField() zipcode = models.TextField() total = models.DecimalField(max_digits=10, decimal_places=2) items = JSONField(default=dict) # import our JSONField at top of file payment_intent = JSONField(default=dict) # stripe thing - for next week
class FoodPosts(models.Model): author = models.ForeignKey(User,on_delete=models.CASCADE) title = models.CharField(max_length=128) contents = JSONField(null=True, blank=True) location = models.CharField(max_length=512,blank=True) date_shoot = models.DateTimeField(default=timezone.now) def __str__(self): return '{} - {} -- {}'.format(self.author,self.title,self.date_shoot) class Meta: verbose_name_plural = 'FoodieShoots User Posts'