Пример #1
0
class DisasterTypeListCreateView(ListCreateAPIView):
    model = DisasterType
    serializer_class = DisasterTypeSerializer
    queryset = DisasterType.objects()
    permission_classes = [
        Or(build_permission_class('dms.can_manage_disasters'), IsGetRequest)
    ]
Пример #2
0
    def test_create_disaster(self):
        attributes = {"name": "Flood", "description": "a lot of water everywhere"}
        DisasterType(**attributes).save()
        disasters = DisasterType.objects(name="Flood")
        disaster = disasters[0]

        self.assertEqual(1, disasters.count())
        self.assertEqual(attributes['name'], disaster.name)
        self.assertEqual(attributes['description'], disaster.description)
Пример #3
0
 def query_by_disaster_type(self, disaster_type, queryset=None):
     disaster_type = DisasterType.objects(id=disaster_type).first()
     disasters = Disaster.objects(name=disaster_type)
     return queryset.filter(disaster__in=disasters)
Пример #4
0
 def validate_name(self, attrs, source):
     if len(DisasterType.objects(name=attrs[source])):
         raise rest_serializers.ValidationError(
             'Disaster type must be unique')
     return attrs
Пример #5
0
 def validate_name(self, attrs, source):
     if len(DisasterType.objects(name=attrs[source])):
         raise rest_serializers.ValidationError('Disaster type must be unique')
     return attrs
Пример #6
0
 def query_by_disaster_type(self, disaster_type, queryset=None):
     disaster_type = DisasterType.objects(id=disaster_type).first()
     disasters = Disaster.objects(name=disaster_type)
     return queryset.filter(disaster__in=disasters)