diff options
Diffstat (limited to 'app/unused_apps/birds')
24 files changed, 990 insertions, 0 deletions
diff --git a/app/unused_apps/birds/__init__.py b/app/unused_apps/birds/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/app/unused_apps/birds/__init__.py diff --git a/app/unused_apps/birds/aba_importer.py b/app/unused_apps/birds/aba_importer.py new file mode 100644 index 0000000..93f5bef --- /dev/null +++ b/app/unused_apps/birds/aba_importer.py @@ -0,0 +1,16 @@ +for row_index in range(sheet.nrows): + if sheet.cell(row_index, 0).value != '': + sci = sheet.cell(row_index, 0).value.split("(")[1].split(")")[0] + bc = BirdClass.objects.get(scientific_name__exact=sci) + common_name = sheet.cell(row_index, 1).value + sci_name = sheet.cell(row_index, 2).value + code = int(sheet.cell(row_index, 3).value) + bclass = bc + # create bird here + b, created = Bird.objects.get_or_create( + common_name=common_name, + scientific_name=sci_name, + code=code, + bird_class=bc + ) + print(b) diff --git a/app/unused_apps/birds/admin.py b/app/unused_apps/birds/admin.py new file mode 100644 index 0000000..df0951a --- /dev/null +++ b/app/unused_apps/birds/admin.py @@ -0,0 +1,101 @@ +from django.contrib import admin +from django.contrib.gis.admin import OSMGeoAdmin +from birds.models import BirdSighting, BirdAudio, BirdClass, Bird, APClass, AP, Sighting + +from photos.forms import GalleryForm +from utils.util import get_latlon +from utils.widgets import CustomSelectMultiple + + +class GalleryFormPlus(GalleryForm): + def __init__(self, *args, **kwargs): + super(GalleryFormPlus, self).__init__(*args, **kwargs) + self.base_fields['seen_by'].widget = CustomSelectMultiple() + + class Meta: + model = Sighting + fields = '__all__' + + +@admin.register(APClass) +class APClassAdmin(admin.ModelAdmin): + list_display = ('common_name', 'scientific_name', 'kind') + list_filter = ('kind',) + + +@admin.register(AP) +class APAdmin(admin.ModelAdmin): + list_display = ('pk', 'common_name', 'scientific_name', 'kind', 'code', 'apclass') + list_filter = ('apclass__kind','apclass') + + +@admin.register(Sighting) +class SightingAdmin(OSMGeoAdmin): + form = GalleryFormPlus + list_filter = ('seen_by',('location', admin.RelatedOnlyFieldListFilter),) + list_display = ('ap', 'location') + # options for OSM map Using custom ESRI topo map + lat, lon = get_latlon() + default_lon = lon + default_lat = lat + default_zoom = 13 + units = True + scrollable = False + map_width = 700 + map_height = 425 + map_template = 'gis/admin/osm.html' + openlayers_url = '/static/admin/js/OpenLayers.js' + + +class BirdClassAdmin(admin.ModelAdmin): + list_display = ('common_name', 'scientific_name',) + + +class BirdAudioAdmin(admin.ModelAdmin): + list_display = ('bird', 'recorder',) + + +class BirdAdmin(admin.ModelAdmin): + list_display = ('pk', 'common_name', 'scientific_name', 'code', 'bird_class') + list_filter = ('bird_class',) + +class BirdSightingAdmin(OSMGeoAdmin): + form = GalleryFormPlus + list_filter = ( + ) + list_display = ('bird', 'location') + list_filter = ('seen_by',('location', admin.RelatedOnlyFieldListFilter),) + fieldsets = ( + ('Sighting', { + 'fields': ( + 'bird', + 'point', + 'date', + 'seen_by', + 'images', + 'audio', + ), + 'classes': ( + 'show', + 'extrapretty', + 'wide' + ) + } + ), + ) + # options for OSM map Using custom ESRI topo map + lat, lon = get_latlon() + default_lon = lon + default_lat = lat + default_zoom = 13 + units = True + scrollable = False + map_width = 700 + map_height = 425 + map_template = 'gis/admin/osm.html' + openlayers_url = '/static/admin/js/OpenLayers.js' + +admin.site.register(BirdSighting, BirdSightingAdmin) +admin.site.register(BirdClass, BirdClassAdmin) +admin.site.register(BirdAudio, BirdAudioAdmin) +admin.site.register(Bird, BirdAdmin) diff --git a/app/unused_apps/birds/autocomplete_light_registry.py b/app/unused_apps/birds/autocomplete_light_registry.py new file mode 100644 index 0000000..1cfa881 --- /dev/null +++ b/app/unused_apps/birds/autocomplete_light_registry.py @@ -0,0 +1,24 @@ +import autocomplete_light.shortcuts as al +from .models import Bird + +# This will generate a PersonAutocomplete class +al.register(Bird, + # Just like in ModelAdmin.search_fields + search_fields=['common_name','scientific_name'], + attrs={ + # This will set the input placeholder attribute: + 'placeholder': 'Tags...', + # This will set the yourlabs.Autocomplete.minimumCharacters + # options, the naming conversion is handled by jQuery + 'data-autocomplete-minimum-characters': 1, +}, + # This will set the data-widget-maximum-values attribute on the + # widget container element, and will be set to + # yourlabs.Widget.maximumValues (jQuery handles the naming + # conversion). + widget_attrs={ + 'data-widget-maximum-values': 4, + # Enable modern-style widget ! + 'class': 'modern-style', + }, +) diff --git a/app/unused_apps/birds/birds.json b/app/unused_apps/birds/birds.json new file mode 100644 index 0000000..f140300 --- /dev/null +++ b/app/unused_apps/birds/birds.json @@ -0,0 +1 @@ +[{"fields": {"scientific_name": "Anatidae", "common_name": "Ducks, Geese, and Swans "}, "pk": 1, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Cracidae", "common_name": "Curassows and Guans "}, "pk": 2, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Odontophoridae", "common_name": "New World Quail "}, "pk": 3, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Phasianidae", "common_name": "Partridges, Grouse, Turkeys, and Old World Quail "}, "pk": 4, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Gaviidae", "common_name": "Loons "}, "pk": 5, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Podicipedidae", "common_name": "Grebes "}, "pk": 6, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Phoenicopteridae", "common_name": "Flamingos "}, "pk": 7, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Diomedeidae", "common_name": "Albatrosses "}, "pk": 8, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Procellariidae", "common_name": "Shearwaters and Petrels "}, "pk": 9, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Hydrobatidae", "common_name": "Storm-Petrels "}, "pk": 10, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Phaethontidae", "common_name": "Tropicbirds "}, "pk": 11, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Ciconiidae", "common_name": "Storks "}, "pk": 12, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Fregatidae", "common_name": "Frigatebirds "}, "pk": 13, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Sulidae", "common_name": "Boobies and Gannets "}, "pk": 14, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Phalacrocoracidae", "common_name": "Cormorants "}, "pk": 15, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Anhingidae", "common_name": "Darters "}, "pk": 16, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Pelecanidae", "common_name": "Pelicans "}, "pk": 17, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Ardeidae", "common_name": "Bitterns, Herons, and Allies "}, "pk": 18, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Threskiornithidae", "common_name": "Ibises and Spoonbills "}, "pk": 19, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Cathartidae", "common_name": "New World Vultures "}, "pk": 20, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Pandionidae", "common_name": "Ospreys "}, "pk": 21, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Accipitridae", "common_name": "Hawks, Kites, Eagles, and Allies "}, "pk": 22, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Rallidae", "common_name": "Rails, Gallinules, and Coots "}, "pk": 23, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Heliornithidae", "common_name": "Sungrebes "}, "pk": 24, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Aramidae", "common_name": "Limpkins "}, "pk": 25, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Gruidae", "common_name": "Cranes "}, "pk": 26, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Burhinidae", "common_name": "Thick-knees "}, "pk": 27, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Charadriidae", "common_name": "Lapwings and Plovers "}, "pk": 28, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Haematopodidae", "common_name": "Oystercatchers "}, "pk": 29, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Recurvirostridae", "common_name": "Stilts and Avocets "}, "pk": 30, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Jacanidae", "common_name": "Jacanas "}, "pk": 31, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Scolopacidae", "common_name": "Sandpipers, Phalaropes, and Allies "}, "pk": 32, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Glareolidae", "common_name": "Pratincoles "}, "pk": 33, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Laridae", "common_name": "Gulls, Terns, and Skimmers "}, "pk": 34, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Stercorariidae", "common_name": "Skuas and Jaegers "}, "pk": 35, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Alcidae", "common_name": "Auks, Murres, and Puffins "}, "pk": 36, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Columbidae", "common_name": "Pigeons and Doves "}, "pk": 37, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Cuculidae", "common_name": "Cuckoos, Roadrunners, and Anis "}, "pk": 38, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Tytonidae", "common_name": "Barn Owls "}, "pk": 39, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Strigidae", "common_name": "Typical Owls "}, "pk": 40, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Caprimulgidae", "common_name": "Goatsuckers "}, "pk": 41, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Apodidae", "common_name": "Swifts "}, "pk": 42, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Trochilidae", "common_name": "Hummingbirds "}, "pk": 43, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Trogonidae", "common_name": "Trogons "}, "pk": 44, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Upupidae", "common_name": "Hoopoes "}, "pk": 45, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Alcedinidae", "common_name": "Kingfishers "}, "pk": 46, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Picidae", "common_name": "Woodpeckers and Allies "}, "pk": 47, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Falconidae", "common_name": "Caracaras and Falcons "}, "pk": 48, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Psittacidae", "common_name": "Lories, Parakeets, Macaws, and Parrots "}, "pk": 49, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Tyrannidae", "common_name": "Tyrant Flycatchers "}, "pk": 50, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Tityridae", "common_name": "Becards, Tityras, and Allies "}, "pk": 51, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Laniidae", "common_name": "Shrikes "}, "pk": 52, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Vireonidae", "common_name": "Vireos "}, "pk": 53, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Corvidae", "common_name": "Jays and Crows "}, "pk": 54, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Alaudidae", "common_name": "Larks "}, "pk": 55, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Hirundinidae", "common_name": "Swallows "}, "pk": 56, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Paridae", "common_name": "Chickadees and Titmice "}, "pk": 57, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Remizidae", "common_name": "Verdin "}, "pk": 58, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Aegithalidae", "common_name": "Bushtits "}, "pk": 59, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Sittidae", "common_name": "Nuthatches "}, "pk": 60, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Certhiidae", "common_name": "Creepers "}, "pk": 61, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Troglodytidae", "common_name": "Wrens "}, "pk": 62, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Polioptilidae", "common_name": "Gnatcatchers and Gnatwrens "}, "pk": 63, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Cinclidae", "common_name": "Dippers "}, "pk": 64, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Pycnonotidae", "common_name": "Bulbuls "}, "pk": 65, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Regulidae", "common_name": "Kinglets "}, "pk": 66, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Phylloscopidae", "common_name": "Leaf Warblers "}, "pk": 67, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Sylviidae", "common_name": "Sylviid Warblers "}, "pk": 68, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Acrocephalidae", "common_name": "Reed Warblers "}, "pk": 69, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Megaluridae", "common_name": "Grassbirds "}, "pk": 70, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Muscicapidae", "common_name": "Old World Flycatchers "}, "pk": 71, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Turdidae", "common_name": "Thrushes "}, "pk": 72, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Mimidae", "common_name": "Mockingbirds and Thrashers "}, "pk": 73, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Sturnidae", "common_name": "Starlings "}, "pk": 74, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Prunellidae", "common_name": "Accentors "}, "pk": 75, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Motacillidae", "common_name": "Wagtails and Pipits "}, "pk": 76, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Bombycillidae", "common_name": "Waxwings "}, "pk": 77, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Ptilogonatidae", "common_name": "Silky-flycatchers "}, "pk": 78, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Peucedramidae", "common_name": "Olive Warblers "}, "pk": 79, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Calcariidae", "common_name": "Longspurs and Snow Buntings "}, "pk": 80, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Parulidae", "common_name": "Wood-Warblers "}, "pk": 81, "model": "birds.birdclass"}, {"fields": {"scientific_name": "incertae sedis", "common_name": "Bananaquits "}, "pk": 82, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Thraupidae", "common_name": "Tanagers "}, "pk": 83, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Emberizidae", "common_name": "Emberizids "}, "pk": 84, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Cardinalidae", "common_name": "Cardinals, Piranga Tanagers and Allies "}, "pk": 85, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Icteridae", "common_name": "Blackbirds "}, "pk": 86, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Fringillidae", "common_name": "Fringilline and Cardueline Finches and Allies "}, "pk": 87, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Passeridae", "common_name": "Old World Sparrows "}, "pk": 88, "model": "birds.birdclass"}, {"fields": {"scientific_name": "Dendrocygna autumnalis", "bird_class": 1, "common_name": "Black-bellied Whistling-Duck", "code": 1}, "pk": 1, "model": "birds.bird"}, {"fields": {"scientific_name": "Dendrocygna bicolor", "bird_class": 1, "common_name": "Fulvous Whistling-Duck", "code": 1}, "pk": 2, "model": "birds.bird"}, {"fields": {"scientific_name": "Anser fabalis", "bird_class": 1, "common_name": "Taiga Bean-Goose", "code": 3}, "pk": 3, "model": "birds.bird"}, {"fields": {"scientific_name": "Anser serrirostris", "bird_class": 1, "common_name": "Tundra Bean-Goose", "code": 3}, "pk": 4, "model": "birds.bird"}, {"fields": {"scientific_name": "Anser brachyrhynchus", "bird_class": 1, "common_name": "Pink-footed Goose", "code": 4}, "pk": 5, "model": "birds.bird"}, {"fields": {"scientific_name": "Anser albifrons", "bird_class": 1, "common_name": "Greater White-fronted Goose", "code": 1}, "pk": 6, "model": "birds.bird"}, {"fields": {"scientific_name": "Anser erythropus", "bird_class": 1, "common_name": "Lesser White-fronted Goose", "code": 5}, "pk": 7, "model": "birds.bird"}, {"fields": {"scientific_name": "Anser anser", "bird_class": 1, "common_name": "Graylag Goose", "code": 5}, "pk": 8, "model": "birds.bird"}, {"fields": {"scientific_name": "Chen canagica", "bird_class": 1, "common_name": "Emperor Goose", "code": 2}, "pk": 9, "model": "birds.bird"}, {"fields": {"scientific_name": "Chen caerulescens", "bird_class": 1, "common_name": "Snow Goose", "code": 1}, "pk": 10, "model": "birds.bird"}, {"fields": {"scientific_name": "Chen rossii", "bird_class": 1, "common_name": "Ross's Goose", "code": 1}, "pk": 11, "model": "birds.bird"}, {"fields": {"scientific_name": "Branta bernicla", "bird_class": 1, "common_name": "Brant", "code": 1}, "pk": 12, "model": "birds.bird"}, {"fields": {"scientific_name": "Branta leucopsis", "bird_class": 1, "common_name": "Barnacle Goose", "code": 4}, "pk": 13, "model": "birds.bird"}, {"fields": {"scientific_name": "Branta hutchinsii", "bird_class": 1, "common_name": "Cackling Goose", "code": 1}, "pk": 14, "model": "birds.bird"}, {"fields": {"scientific_name": "Branta canadensis", "bird_class": 1, "common_name": "Canada Goose", "code": 1}, "pk": 15, "model": "birds.bird"}, {"fields": {"scientific_name": "Cygnus olor", "bird_class": 1, "common_name": "Mute Swan", "code": 1}, "pk": 16, "model": "birds.bird"}, {"fields": {"scientific_name": "Cygnus buccinator", "bird_class": 1, "common_name": "Trumpeter Swan", "code": 1}, "pk": 17, "model": "birds.bird"}, {"fields": {"scientific_name": "Cygnus columbianus", "bird_class": 1, "common_name": "Tundra Swan", "code": 1}, "pk": 18, "model": "birds.bird"}, {"fields": {"scientific_name": "Cygnus cygnus", "bird_class": 1, "common_name": "Whooper Swan", "code": 3}, "pk": 19, "model": "birds.bird"}, {"fields": {"scientific_name": "Cairina moschata", "bird_class": 1, "common_name": "Muscovy Duck", "code": 2}, "pk": 20, "model": "birds.bird"}, {"fields": {"scientific_name": "Aix sponsa", "bird_class": 1, "common_name": "Wood Duck", "code": 1}, "pk": 21, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas strepera", "bird_class": 1, "common_name": "Gadwall", "code": 1}, "pk": 22, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas falcata", "bird_class": 1, "common_name": "Falcated Duck", "code": 4}, "pk": 23, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas penelope", "bird_class": 1, "common_name": "Eurasian Wigeon", "code": 2}, "pk": 24, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas americana", "bird_class": 1, "common_name": "American Wigeon", "code": 1}, "pk": 25, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas rubripes", "bird_class": 1, "common_name": "American Black Duck", "code": 1}, "pk": 26, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas platyrhynchos", "bird_class": 1, "common_name": "Mallard", "code": 1}, "pk": 27, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas fulvigula", "bird_class": 1, "common_name": "Mottled Duck", "code": 1}, "pk": 28, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas zonorhyncha", "bird_class": 1, "common_name": "Eastern Spot-billed Duck", "code": 4}, "pk": 29, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas discors", "bird_class": 1, "common_name": "Blue-winged Teal", "code": 1}, "pk": 30, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas cyanoptera", "bird_class": 1, "common_name": "Cinnamon Teal", "code": 1}, "pk": 31, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas clypeata", "bird_class": 1, "common_name": "Northern Shoveler", "code": 1}, "pk": 32, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas bahamensis", "bird_class": 1, "common_name": "White-cheeked Pintail", "code": 4}, "pk": 33, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas acuta", "bird_class": 1, "common_name": "Northern Pintail", "code": 1}, "pk": 34, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas querquedula", "bird_class": 1, "common_name": "Garganey", "code": 4}, "pk": 35, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas formosa", "bird_class": 1, "common_name": "Baikal Teal", "code": 4}, "pk": 36, "model": "birds.bird"}, {"fields": {"scientific_name": "Anas crecca", "bird_class": 1, "common_name": "Green-winged Teal", "code": 1}, "pk": 37, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya valisineria", "bird_class": 1, "common_name": "Canvasback", "code": 1}, "pk": 38, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya americana", "bird_class": 1, "common_name": "Redhead", "code": 1}, "pk": 39, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya ferina", "bird_class": 1, "common_name": "Common Pochard", "code": 3}, "pk": 40, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya collaris", "bird_class": 1, "common_name": "Ring-necked Duck", "code": 1}, "pk": 41, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya fuligula", "bird_class": 1, "common_name": "Tufted Duck", "code": 3}, "pk": 42, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya marila", "bird_class": 1, "common_name": "Greater Scaup", "code": 1}, "pk": 43, "model": "birds.bird"}, {"fields": {"scientific_name": "Aythya affinis", "bird_class": 1, "common_name": "Lesser Scaup", "code": 1}, "pk": 44, "model": "birds.bird"}, {"fields": {"scientific_name": "Polysticta stelleri", "bird_class": 1, "common_name": "Steller's Eider", "code": 3}, "pk": 45, "model": "birds.bird"}, {"fields": {"scientific_name": "Somateria fischeri", "bird_class": 1, "common_name": "Spectacled Eider", "code": 3}, "pk": 46, "model": "birds.bird"}, {"fields": {"scientific_name": "Somateria spectabilis", "bird_class": 1, "common_name": "King Eider", "code": 2}, "pk": 47, "model": "birds.bird"}, {"fields": {"scientific_name": "Somateria mollissima", "bird_class": 1, "common_name": "Common Eider", "code": 1}, "pk": 48, "model": "birds.bird"}, {"fields": {"scientific_name": "Histrionicus histrionicus", "bird_class": 1, "common_name": "Harlequin Duck", "code": 1}, "pk": 49, "model": "birds.bird"}, {"fields": {"scientific_name": "Camptorhynchus labradorius", "bird_class": 1, "common_name": "Labrador Duck", "code": 6}, "pk": 50, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanitta perspicillata", "bird_class": 1, "common_name": "Surf Scoter", "code": 1}, "pk": 51, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanitta fusca", "bird_class": 1, "common_name": "White-winged Scoter", "code": 1}, "pk": 52, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanitta americana", "bird_class": 1, "common_name": "Black Scoter", "code": 1}, "pk": 53, "model": "birds.bird"}, {"fields": {"scientific_name": "Clangula hyemalis", "bird_class": 1, "common_name": "Long-tailed Duck", "code": 1}, "pk": 54, "model": "birds.bird"}, {"fields": {"scientific_name": "Bucephala albeola", "bird_class": 1, "common_name": "Bufflehead", "code": 1}, "pk": 55, "model": "birds.bird"}, {"fields": {"scientific_name": "Bucephala clangula", "bird_class": 1, "common_name": "Common Goldeneye", "code": 1}, "pk": 56, "model": "birds.bird"}, {"fields": {"scientific_name": "Bucephala islandica", "bird_class": 1, "common_name": "Barrow's Goldeneye", "code": 1}, "pk": 57, "model": "birds.bird"}, {"fields": {"scientific_name": "Mergellus albellus", "bird_class": 1, "common_name": "Smew", "code": 3}, "pk": 58, "model": "birds.bird"}, {"fields": {"scientific_name": "Lophodytes cucullatus", "bird_class": 1, "common_name": "Hooded Merganser", "code": 1}, "pk": 59, "model": "birds.bird"}, {"fields": {"scientific_name": "Mergus merganser", "bird_class": 1, "common_name": "Common Merganser", "code": 1}, "pk": 60, "model": "birds.bird"}, {"fields": {"scientific_name": "Mergus serrator", "bird_class": 1, "common_name": "Red-breasted Merganser", "code": 1}, "pk": 61, "model": "birds.bird"}, {"fields": {"scientific_name": "Nomonyx dominicus", "bird_class": 1, "common_name": "Masked Duck", "code": 3}, "pk": 62, "model": "birds.bird"}, {"fields": {"scientific_name": "Oxyura jamaicensis", "bird_class": 1, "common_name": "Ruddy Duck", "code": 1}, "pk": 63, "model": "birds.bird"}, {"fields": {"scientific_name": "Ortalis vetula", "bird_class": 2, "common_name": "Plain Chachalaca", "code": 2}, "pk": 64, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreortyx pictus", "bird_class": 3, "common_name": "Mountain Quail", "code": 1}, "pk": 65, "model": "birds.bird"}, {"fields": {"scientific_name": "Callipepla squamata", "bird_class": 3, "common_name": "Scaled Quail", "code": 1}, "pk": 66, "model": "birds.bird"}, {"fields": {"scientific_name": "Callipepla californica", "bird_class": 3, "common_name": "California Quail", "code": 1}, "pk": 67, "model": "birds.bird"}, {"fields": {"scientific_name": "Callipepla gambelii", "bird_class": 3, "common_name": "Gambel's Quail", "code": 1}, "pk": 68, "model": "birds.bird"}, {"fields": {"scientific_name": "Colinus virginianus", "bird_class": 3, "common_name": "Northern Bobwhite", "code": 1}, "pk": 69, "model": "birds.bird"}, {"fields": {"scientific_name": "Cyrtonyx montezumae", "bird_class": 3, "common_name": "Montezuma Quail", "code": 2}, "pk": 70, "model": "birds.bird"}, {"fields": {"scientific_name": "Alectoris chukar", "bird_class": 4, "common_name": "Chukar", "code": 2}, "pk": 71, "model": "birds.bird"}, {"fields": {"scientific_name": "Tetraogallus himalayensis", "bird_class": 4, "common_name": "Himalayan Snowcock", "code": 2}, "pk": 72, "model": "birds.bird"}, {"fields": {"scientific_name": "Perdix perdix", "bird_class": 4, "common_name": "Gray Partridge", "code": 2}, "pk": 73, "model": "birds.bird"}, {"fields": {"scientific_name": "Phasianus colchicus", "bird_class": 4, "common_name": "Ring-necked Pheasant", "code": 1}, "pk": 74, "model": "birds.bird"}, {"fields": {"scientific_name": "Bonasa umbellus", "bird_class": 4, "common_name": "Ruffed Grouse", "code": 1}, "pk": 75, "model": "birds.bird"}, {"fields": {"scientific_name": "Centrocercus urophasianus", "bird_class": 4, "common_name": "Greater Sage-Grouse", "code": 1}, "pk": 76, "model": "birds.bird"}, {"fields": {"scientific_name": "Centrocercus minimus", "bird_class": 4, "common_name": "Gunnison Sage-Grouse", "code": 2}, "pk": 77, "model": "birds.bird"}, {"fields": {"scientific_name": "Falcipennis canadensis", "bird_class": 4, "common_name": "Spruce Grouse", "code": 2}, "pk": 78, "model": "birds.bird"}, {"fields": {"scientific_name": "Lagopus lagopus", "bird_class": 4, "common_name": "Willow Ptarmigan", "code": 1}, "pk": 79, "model": "birds.bird"}, {"fields": {"scientific_name": "Lagopus muta", "bird_class": 4, "common_name": "Rock Ptarmigan", "code": 1}, "pk": 80, "model": "birds.bird"}, {"fields": {"scientific_name": "Lagopus leucura", "bird_class": 4, "common_name": "White-tailed Ptarmigan", "code": 2}, "pk": 81, "model": "birds.bird"}, {"fields": {"scientific_name": "Dendragapus obscurus", "bird_class": 4, "common_name": "Dusky Grouse", "code": 2}, "pk": 82, "model": "birds.bird"}, {"fields": {"scientific_name": "Dendragapus fuliginosus", "bird_class": 4, "common_name": "Sooty Grouse", "code": 2}, "pk": 83, "model": "birds.bird"}, {"fields": {"scientific_name": "Tympanuchus phasianellus", "bird_class": 4, "common_name": "Sharp-tailed Grouse", "code": 2}, "pk": 84, "model": "birds.bird"}, {"fields": {"scientific_name": "Tympanuchus cupido", "bird_class": 4, "common_name": "Greater Prairie-Chicken", "code": 2}, "pk": 85, "model": "birds.bird"}, {"fields": {"scientific_name": "Tympanuchus pallidicinctus", "bird_class": 4, "common_name": "Lesser Prairie-Chicken", "code": 2}, "pk": 86, "model": "birds.bird"}, {"fields": {"scientific_name": "Meleagris gallopavo", "bird_class": 4, "common_name": "Wild Turkey", "code": 1}, "pk": 87, "model": "birds.bird"}, {"fields": {"scientific_name": "Gavia stellata", "bird_class": 5, "common_name": "Red-throated Loon", "code": 1}, "pk": 88, "model": "birds.bird"}, {"fields": {"scientific_name": "Gavia arctica", "bird_class": 5, "common_name": "Arctic Loon", "code": 2}, "pk": 89, "model": "birds.bird"}, {"fields": {"scientific_name": "Gavia pacifica", "bird_class": 5, "common_name": "Pacific Loon", "code": 1}, "pk": 90, "model": "birds.bird"}, {"fields": {"scientific_name": "Gavia immer", "bird_class": 5, "common_name": "Common Loon", "code": 1}, "pk": 91, "model": "birds.bird"}, {"fields": {"scientific_name": "Gavia adamsii", "bird_class": 5, "common_name": "Yellow-billed Loon", "code": 2}, "pk": 92, "model": "birds.bird"}, {"fields": {"scientific_name": "Tachybaptus dominicus", "bird_class": 6, "common_name": "Least Grebe", "code": 2}, "pk": 93, "model": "birds.bird"}, {"fields": {"scientific_name": "Podilymbus podiceps", "bird_class": 6, "common_name": "Pied-billed Grebe", "code": 1}, "pk": 94, "model": "birds.bird"}, {"fields": {"scientific_name": "Podiceps auritus", "bird_class": 6, "common_name": "Horned Grebe", "code": 1}, "pk": 95, "model": "birds.bird"}, {"fields": {"scientific_name": "Podiceps grisegena", "bird_class": 6, "common_name": "Red-necked Grebe", "code": 1}, "pk": 96, "model": "birds.bird"}, {"fields": {"scientific_name": "Podiceps nigricollis", "bird_class": 6, "common_name": "Eared Grebe", "code": 1}, "pk": 97, "model": "birds.bird"}, {"fields": {"scientific_name": "Aechmophorus occidentalis", "bird_class": 6, "common_name": "Western Grebe", "code": 1}, "pk": 98, "model": "birds.bird"}, {"fields": {"scientific_name": "Aechmophorus clarkii", "bird_class": 6, "common_name": "Clark's Grebe", "code": 1}, "pk": 99, "model": "birds.bird"}, {"fields": {"scientific_name": "Phoenicopterus ruber", "bird_class": 7, "common_name": "American Flamingo", "code": 3}, "pk": 100, "model": "birds.bird"}, {"fields": {"scientific_name": "Thalassarche chlororhynchos", "bird_class": 8, "common_name": "Yellow-nosed Albatross", "code": 4}, "pk": 101, "model": "birds.bird"}, {"fields": {"scientific_name": "Thalassarche cauta", "bird_class": 8, "common_name": "Shy Albatross", "code": 4}, "pk": 102, "model": "birds.bird"}, {"fields": {"scientific_name": "Thalassarche melanophris", "bird_class": 8, "common_name": "Black-browed Albatross", "code": 5}, "pk": 103, "model": "birds.bird"}, {"fields": {"scientific_name": "Phoebetria palpebrata", "bird_class": 8, "common_name": "Light-mantled Albatross", "code": 5}, "pk": 104, "model": "birds.bird"}, {"fields": {"scientific_name": "Diomedea exulans", "bird_class": 8, "common_name": "Wandering Albatross", "code": 5}, "pk": 105, "model": "birds.bird"}, {"fields": {"scientific_name": "Phoebastria immutabilis", "bird_class": 8, "common_name": "Laysan Albatross", "code": 2}, "pk": 106, "model": "birds.bird"}, {"fields": {"scientific_name": "Phoebastria nigripes", "bird_class": 8, "common_name": "Black-footed Albatross", "code": 1}, "pk": 107, "model": "birds.bird"}, {"fields": {"scientific_name": "Phoebastria albatrus", "bird_class": 8, "common_name": "Short-tailed Albatross", "code": 3}, "pk": 108, "model": "birds.bird"}, {"fields": {"scientific_name": "Fulmarus glacialis", "bird_class": 9, "common_name": "Northern Fulmar", "code": 1}, "pk": 109, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma macroptera", "bird_class": 9, "common_name": "Great-winged Petrel", "code": 5}, "pk": 110, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma solandri", "bird_class": 9, "common_name": "Providence Petrel", "code": 4}, "pk": 111, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma arminjoniana", "bird_class": 9, "common_name": "Herald Petrel", "code": 3}, "pk": 112, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma ultima", "bird_class": 9, "common_name": "Murphy's Petrel", "code": 3}, "pk": 113, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma inexpectata", "bird_class": 9, "common_name": "Mottled Petrel", "code": 2}, "pk": 114, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma cahow", "bird_class": 9, "common_name": "Bermuda Petrel", "code": 3}, "pk": 115, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma hasitata", "bird_class": 9, "common_name": "Black-capped Petrel", "code": 2}, "pk": 116, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma phaeopygia/sandwichensis", "bird_class": 9, "common_name": "Galapagos/Hawaiian Petrel", "code": 4}, "pk": 117, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma feae", "bird_class": 9, "common_name": "Fea's Petrel", "code": 3}, "pk": 118, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma cookii", "bird_class": 9, "common_name": "Cook's Petrel", "code": 3}, "pk": 119, "model": "birds.bird"}, {"fields": {"scientific_name": "Pterodroma longirostris", "bird_class": 9, "common_name": "Stejneger's Petrel", "code": 4}, "pk": 120, "model": "birds.bird"}, {"fields": {"scientific_name": "Bulweria bulwerii", "bird_class": 9, "common_name": "Bulwer's Petrel", "code": 5}, "pk": 121, "model": "birds.bird"}, {"fields": {"scientific_name": "Procellaria aequinoctialis", "bird_class": 9, "common_name": "White-chinned Petrel", "code": 5}, "pk": 122, "model": "birds.bird"}, {"fields": {"scientific_name": "Procellaria parkinsoni", "bird_class": 9, "common_name": "Parkinson's Petrel", "code": 5}, "pk": 123, "model": "birds.bird"}, {"fields": {"scientific_name": "Calonectris leucomelas", "bird_class": 9, "common_name": "Streaked Shearwater", "code": 4}, "pk": 124, "model": "birds.bird"}, {"fields": {"scientific_name": "Calonectris diomedea", "bird_class": 9, "common_name": "Cory's Shearwater", "code": 1}, "pk": 125, "model": "birds.bird"}, {"fields": {"scientific_name": "Calonectris edwardsii", "bird_class": 9, "common_name": "Cape Verde Shearwater", "code": 5}, "pk": 126, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus creatopus", "bird_class": 9, "common_name": "Pink-footed Shearwater", "code": 1}, "pk": 127, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus carneipes", "bird_class": 9, "common_name": "Flesh-footed Shearwater", "code": 3}, "pk": 128, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus gravis", "bird_class": 9, "common_name": "Great Shearwater", "code": 1}, "pk": 129, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus pacificus", "bird_class": 9, "common_name": "Wedge-tailed Shearwater", "code": 4}, "pk": 130, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus bulleri", "bird_class": 9, "common_name": "Buller's Shearwater", "code": 2}, "pk": 131, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus griseus", "bird_class": 9, "common_name": "Sooty Shearwater", "code": 1}, "pk": 132, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus tenuirostris", "bird_class": 9, "common_name": "Short-tailed Shearwater", "code": 2}, "pk": 133, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus puffinus", "bird_class": 9, "common_name": "Manx Shearwater", "code": 2}, "pk": 134, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus auricularis", "bird_class": 9, "common_name": "Townsend's Shearwater", "code": 5}, "pk": 135, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus opisthomelas", "bird_class": 9, "common_name": "Black-vented Shearwater", "code": 2}, "pk": 136, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus lherminieri", "bird_class": 9, "common_name": "Audubon's Shearwater", "code": 1}, "pk": 137, "model": "birds.bird"}, {"fields": {"scientific_name": "Puffinus assimilis", "bird_class": 9, "common_name": "Little Shearwater", "code": 5}, "pk": 138, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanites oceanicus", "bird_class": 10, "common_name": "Wilson's Storm-Petrel", "code": 1}, "pk": 139, "model": "birds.bird"}, {"fields": {"scientific_name": "Pelagodroma marina", "bird_class": 10, "common_name": "White-faced Storm-Petrel", "code": 3}, "pk": 140, "model": "birds.bird"}, {"fields": {"scientific_name": "Hydrobates pelagicus", "bird_class": 10, "common_name": "European Storm-Petrel", "code": 4}, "pk": 141, "model": "birds.bird"}, {"fields": {"scientific_name": "Fregetta tropica", "bird_class": 10, "common_name": "Black-bellied Storm-Petrel", "code": 5}, "pk": 142, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma furcata", "bird_class": 10, "common_name": "Fork-tailed Storm-Petrel", "code": 2}, "pk": 143, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma hornbyi", "bird_class": 10, "common_name": "Ringed Storm-Petrel", "code": 5}, "pk": 144, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma monorhis", "bird_class": 10, "common_name": "Swinhoe's Storm-Petrel", "code": 5}, "pk": 145, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma leucorhoa", "bird_class": 10, "common_name": "Leach's Storm-Petrel", "code": 1}, "pk": 146, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma homochroa", "bird_class": 10, "common_name": "Ashy Storm-Petrel", "code": 2}, "pk": 147, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma castro", "bird_class": 10, "common_name": "Band-rumped Storm-Petrel", "code": 2}, "pk": 148, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma tethys", "bird_class": 10, "common_name": "Wedge-rumped Storm-Petrel", "code": 4}, "pk": 149, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma melania", "bird_class": 10, "common_name": "Black Storm-Petrel", "code": 2}, "pk": 150, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma tristrami", "bird_class": 10, "common_name": "Tristram's Storm-Petrel", "code": 5}, "pk": 151, "model": "birds.bird"}, {"fields": {"scientific_name": "Oceanodroma microsoma", "bird_class": 10, "common_name": "Least Storm-Petrel", "code": 3}, "pk": 152, "model": "birds.bird"}, {"fields": {"scientific_name": "Phaethon lepturus", "bird_class": 11, "common_name": "White-tailed Tropicbird", "code": 3}, "pk": 153, "model": "birds.bird"}, {"fields": {"scientific_name": "Phaethon aethereus", "bird_class": 11, "common_name": "Red-billed Tropicbird", "code": 3}, "pk": 154, "model": "birds.bird"}, {"fields": {"scientific_name": "Phaethon rubricauda", "bird_class": 11, "common_name": "Red-tailed Tropicbird", "code": 4}, "pk": 155, "model": "birds.bird"}, {"fields": {"scientific_name": "Jabiru mycteria", "bird_class": 12, "common_name": "Jabiru", "code": 4}, "pk": 156, "model": "birds.bird"}, {"fields": {"scientific_name": "Mycteria americana", "bird_class": 12, "common_name": "Wood Stork", "code": 1}, "pk": 157, "model": "birds.bird"}, {"fields": {"scientific_name": "Fregata magnificens", "bird_class": 13, "common_name": "Magnificent Frigatebird", "code": 1}, "pk": 158, "model": "birds.bird"}, {"fields": {"scientific_name": "Fregata minor", "bird_class": 13, "common_name": "Great Frigatebird", "code": 5}, "pk": 159, "model": "birds.bird"}, {"fields": {"scientific_name": "Fregata ariel", "bird_class": 13, "common_name": "Lesser Frigatebird", "code": 5}, "pk": 160, "model": "birds.bird"}, {"fields": {"scientific_name": "Sula dactylatra", "bird_class": 14, "common_name": "Masked Booby", "code": 3}, "pk": 161, "model": "birds.bird"}, {"fields": {"scientific_name": "Sula nebouxii", "bird_class": 14, "common_name": "Blue-footed Booby", "code": 4}, "pk": 162, "model": "birds.bird"}, {"fields": {"scientific_name": "Sula leucogaster", "bird_class": 14, "common_name": "Brown Booby", "code": 3}, "pk": 163, "model": "birds.bird"}, {"fields": {"scientific_name": "Sula sula", "bird_class": 14, "common_name": "Red-footed Booby", "code": 4}, "pk": 164, "model": "birds.bird"}, {"fields": {"scientific_name": "Morus bassanus", "bird_class": 14, "common_name": "Northern Gannet", "code": 1}, "pk": 165, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalacrocorax penicillatus", "bird_class": 15, "common_name": "Brandt's Cormorant", "code": 1}, "pk": 166, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalacrocorax brasilianus", "bird_class": 15, "common_name": "Neotropic Cormorant", "code": 1}, "pk": 167, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalacrocorax auritus", "bird_class": 15, "common_name": "Double-crested Cormorant", "code": 1}, "pk": 168, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalacrocorax carbo", "bird_class": 15, "common_name": "Great Cormorant", "code": 1}, "pk": 169, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalacrocorax urile", "bird_class": 15, "common_name": "Red-faced Cormorant", "code": 2}, "pk": 170, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalacrocorax pelagicus", "bird_class": 15, "common_name": "Pelagic Cormorant", "code": 1}, "pk": 171, "model": "birds.bird"}, {"fields": {"scientific_name": "Anhinga anhinga", "bird_class": 16, "common_name": "Anhinga", "code": 1}, "pk": 172, "model": "birds.bird"}, {"fields": {"scientific_name": "Pelecanus erythrorhynchos", "bird_class": 17, "common_name": "American White Pelican", "code": 1}, "pk": 173, "model": "birds.bird"}, {"fields": {"scientific_name": "Pelecanus occidentalis", "bird_class": 17, "common_name": "Brown Pelican", "code": 1}, "pk": 174, "model": "birds.bird"}, {"fields": {"scientific_name": "Botaurus lentiginosus", "bird_class": 18, "common_name": "American Bittern", "code": 1}, "pk": 175, "model": "birds.bird"}, {"fields": {"scientific_name": "Ixobrychus sinensis", "bird_class": 18, "common_name": "Yellow Bittern", "code": 5}, "pk": 176, "model": "birds.bird"}, {"fields": {"scientific_name": "Ixobrychus exilis", "bird_class": 18, "common_name": "Least Bittern", "code": 1}, "pk": 177, "model": "birds.bird"}, {"fields": {"scientific_name": "Tigrisoma mexicanum", "bird_class": 18, "common_name": "Bare-throated Tiger-Heron", "code": 5}, "pk": 178, "model": "birds.bird"}, {"fields": {"scientific_name": "Ardea herodias", "bird_class": 18, "common_name": "Great Blue Heron", "code": 1}, "pk": 179, "model": "birds.bird"}, {"fields": {"scientific_name": "Ardea cinerea", "bird_class": 18, "common_name": "Gray Heron", "code": 5}, "pk": 180, "model": "birds.bird"}, {"fields": {"scientific_name": "Ardea alba", "bird_class": 18, "common_name": "Great Egret", "code": 1}, "pk": 181, "model": "birds.bird"}, {"fields": {"scientific_name": "Mesophoyx intermedia", "bird_class": 18, "common_name": "Intermediate Egret", "code": 5}, "pk": 182, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta eulophotes", "bird_class": 18, "common_name": "Chinese Egret", "code": 5}, "pk": 183, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta garzetta", "bird_class": 18, "common_name": "Little Egret", "code": 4}, "pk": 184, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta gularis", "bird_class": 18, "common_name": "Western Reef-Heron", "code": 5}, "pk": 185, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta thula", "bird_class": 18, "common_name": "Snowy Egret", "code": 1}, "pk": 186, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta caerulea", "bird_class": 18, "common_name": "Little Blue Heron", "code": 1}, "pk": 187, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta tricolor", "bird_class": 18, "common_name": "Tricolored Heron", "code": 1}, "pk": 188, "model": "birds.bird"}, {"fields": {"scientific_name": "Egretta rufescens", "bird_class": 18, "common_name": "Reddish Egret", "code": 1}, "pk": 189, "model": "birds.bird"}, {"fields": {"scientific_name": "Bubulcus ibis", "bird_class": 18, "common_name": "Cattle Egret", "code": 1}, "pk": 190, "model": "birds.bird"}, {"fields": {"scientific_name": "Ardeola bacchus", "bird_class": 18, "common_name": "Chinese Pond-Heron", "code": 5}, "pk": 191, "model": "birds.bird"}, {"fields": {"scientific_name": "Butorides virescens", "bird_class": 18, "common_name": "Green Heron", "code": 1}, "pk": 192, "model": "birds.bird"}, {"fields": {"scientific_name": "Nycticorax nycticorax", "bird_class": 18, "common_name": "Black-crowned Night-Heron", "code": 1}, "pk": 193, "model": "birds.bird"}, {"fields": {"scientific_name": "Nyctanassa violacea", "bird_class": 18, "common_name": "Yellow-crowned Night-Heron", "code": 1}, "pk": 194, "model": "birds.bird"}, {"fields": {"scientific_name": "Eudocimus albus", "bird_class": 19, "common_name": "White Ibis", "code": 1}, "pk": 195, "model": "birds.bird"}, {"fields": {"scientific_name": "Eudocimus ruber", "bird_class": 19, "common_name": "Scarlet Ibis", "code": 5}, "pk": 196, "model": "birds.bird"}, {"fields": {"scientific_name": "Plegadis falcinellus", "bird_class": 19, "common_name": "Glossy Ibis", "code": 1}, "pk": 197, "model": "birds.bird"}, {"fields": {"scientific_name": "Plegadis chihi", "bird_class": 19, "common_name": "White-faced Ibis", "code": 1}, "pk": 198, "model": "birds.bird"}, {"fields": {"scientific_name": "Platalea ajaja", "bird_class": 19, "common_name": "Roseate Spoonbill", "code": 1}, "pk": 199, "model": "birds.bird"}, {"fields": {"scientific_name": "Coragyps atratus", "bird_class": 20, "common_name": "Black Vulture", "code": 1}, "pk": 200, "model": "birds.bird"}, {"fields": {"scientific_name": "Cathartes aura", "bird_class": 20, "common_name": "Turkey Vulture", "code": 1}, "pk": 201, "model": "birds.bird"}, {"fields": {"scientific_name": "Gymnogyps californianus", "bird_class": 20, "common_name": "California Condor", "code": 6}, "pk": 202, "model": "birds.bird"}, {"fields": {"scientific_name": "Pandion haliaetus", "bird_class": 21, "common_name": "Osprey", "code": 1}, "pk": 203, "model": "birds.bird"}, {"fields": {"scientific_name": "Chondrohierax uncinatus", "bird_class": 22, "common_name": "Hook-billed Kite", "code": 3}, "pk": 204, "model": "birds.bird"}, {"fields": {"scientific_name": "Elanoides forficatus", "bird_class": 22, "common_name": "Swallow-tailed Kite", "code": 1}, "pk": 205, "model": "birds.bird"}, {"fields": {"scientific_name": "Elanus leucurus", "bird_class": 22, "common_name": "White-tailed Kite", "code": 1}, "pk": 206, "model": "birds.bird"}, {"fields": {"scientific_name": "Rostrhamus sociabilis", "bird_class": 22, "common_name": "Snail Kite", "code": 2}, "pk": 207, "model": "birds.bird"}, {"fields": {"scientific_name": "Harpagus bidentatus", "bird_class": 22, "common_name": "Double-toothed Kite", "code": 5}, "pk": 208, "model": "birds.bird"}, {"fields": {"scientific_name": "Ictinia mississippiensis", "bird_class": 22, "common_name": "Mississippi Kite", "code": 1}, "pk": 209, "model": "birds.bird"}, {"fields": {"scientific_name": "Haliaeetus leucocephalus", "bird_class": 22, "common_name": "Bald Eagle", "code": 1}, "pk": 210, "model": "birds.bird"}, {"fields": {"scientific_name": "Haliaeetus albicilla", "bird_class": 22, "common_name": "White-tailed Eagle", "code": 4}, "pk": 211, "model": "birds.bird"}, {"fields": {"scientific_name": "Haliaeetus pelagicus", "bird_class": 22, "common_name": "Steller's Sea-Eagle", "code": 4}, "pk": 212, "model": "birds.bird"}, {"fields": {"scientific_name": "Circus cyaneus", "bird_class": 22, "common_name": "Northern Harrier", "code": 1}, "pk": 213, "model": "birds.bird"}, {"fields": {"scientific_name": "Accipiter striatus", "bird_class": 22, "common_name": "Sharp-shinned Hawk", "code": 1}, "pk": 214, "model": "birds.bird"}, {"fields": {"scientific_name": "Accipiter cooperii", "bird_class": 22, "common_name": "Cooper's Hawk", "code": 1}, "pk": 215, "model": "birds.bird"}, {"fields": {"scientific_name": "Accipiter gentilis", "bird_class": 22, "common_name": "Northern Goshawk", "code": 1}, "pk": 216, "model": "birds.bird"}, {"fields": {"scientific_name": "Geranospiza caerulescens", "bird_class": 22, "common_name": "Crane Hawk", "code": 5}, "pk": 217, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteogallus anthracinus", "bird_class": 22, "common_name": "Common Black-Hawk", "code": 2}, "pk": 218, "model": "birds.bird"}, {"fields": {"scientific_name": "Parabuteo unicinctus", "bird_class": 22, "common_name": "Harris's Hawk", "code": 1}, "pk": 219, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo magnirostris", "bird_class": 22, "common_name": "Roadside Hawk", "code": 4}, "pk": 220, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo lineatus", "bird_class": 22, "common_name": "Red-shouldered Hawk", "code": 1}, "pk": 221, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo platypterus", "bird_class": 22, "common_name": "Broad-winged Hawk", "code": 1}, "pk": 222, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo plagiatus", "bird_class": 22, "common_name": "Gray Hawk", "code": 2}, "pk": 223, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo brachyurus", "bird_class": 22, "common_name": "Short-tailed Hawk", "code": 2}, "pk": 224, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo swainsoni", "bird_class": 22, "common_name": "Swainson's Hawk", "code": 1}, "pk": 225, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo albicaudatus", "bird_class": 22, "common_name": "White-tailed Hawk", "code": 2}, "pk": 226, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo albonotatus", "bird_class": 22, "common_name": "Zone-tailed Hawk", "code": 2}, "pk": 227, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo jamaicensis", "bird_class": 22, "common_name": "Red-tailed Hawk", "code": 1}, "pk": 228, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo regalis", "bird_class": 22, "common_name": "Ferruginous Hawk", "code": 1}, "pk": 229, "model": "birds.bird"}, {"fields": {"scientific_name": "Buteo lagopus", "bird_class": 22, "common_name": "Rough-legged Hawk", "code": 1}, "pk": 230, "model": "birds.bird"}, {"fields": {"scientific_name": "Aquila chrysaetos", "bird_class": 22, "common_name": "Golden Eagle", "code": 1}, "pk": 231, "model": "birds.bird"}, {"fields": {"scientific_name": "Coturnicops noveboracensis", "bird_class": 23, "common_name": "Yellow Rail", "code": 2}, "pk": 232, "model": "birds.bird"}, {"fields": {"scientific_name": "Laterallus jamaicensis", "bird_class": 23, "common_name": "Black Rail", "code": 2}, "pk": 233, "model": "birds.bird"}, {"fields": {"scientific_name": "Crex crex", "bird_class": 23, "common_name": "Corn Crake", "code": 4}, "pk": 234, "model": "birds.bird"}, {"fields": {"scientific_name": "Rallus longirostris", "bird_class": 23, "common_name": "Clapper Rail", "code": 1}, "pk": 235, "model": "birds.bird"}, {"fields": {"scientific_name": "Rallus elegans", "bird_class": 23, "common_name": "King Rail", "code": 1}, "pk": 236, "model": "birds.bird"}, {"fields": {"scientific_name": "Rallus limicola", "bird_class": 23, "common_name": "Virginia Rail", "code": 1}, "pk": 237, "model": "birds.bird"}, {"fields": {"scientific_name": "Porzana carolina", "bird_class": 23, "common_name": "Sora", "code": 1}, "pk": 238, "model": "birds.bird"}, {"fields": {"scientific_name": "Neocrex erythrops", "bird_class": 23, "common_name": "Paint-billed Crake", "code": 5}, "pk": 239, "model": "birds.bird"}, {"fields": {"scientific_name": "Pardirallus maculatus", "bird_class": 23, "common_name": "Spotted Rail", "code": 5}, "pk": 240, "model": "birds.bird"}, {"fields": {"scientific_name": "Porphyrio martinicus", "bird_class": 23, "common_name": "Purple Gallinule", "code": 1}, "pk": 241, "model": "birds.bird"}, {"fields": {"scientific_name": "Gallinula galeata", "bird_class": 23, "common_name": "Common Gallinule", "code": 1}, "pk": 242, "model": "birds.bird"}, {"fields": {"scientific_name": "Fulica atra", "bird_class": 23, "common_name": "Eurasian Coot", "code": 5}, "pk": 243, "model": "birds.bird"}, {"fields": {"scientific_name": "Fulica americana", "bird_class": 23, "common_name": "American Coot", "code": 1}, "pk": 244, "model": "birds.bird"}, {"fields": {"scientific_name": "Heliornis fulica", "bird_class": 24, "common_name": "Sungrebe", "code": 5}, "pk": 245, "model": "birds.bird"}, {"fields": {"scientific_name": "Aramus guarauna", "bird_class": 25, "common_name": "Limpkin", "code": 2}, "pk": 246, "model": "birds.bird"}, {"fields": {"scientific_name": "Grus canadensis", "bird_class": 26, "common_name": "Sandhill Crane", "code": 1}, "pk": 247, "model": "birds.bird"}, {"fields": {"scientific_name": "Grus grus", "bird_class": 26, "common_name": "Common Crane", "code": 4}, "pk": 248, "model": "birds.bird"}, {"fields": {"scientific_name": "Grus americana", "bird_class": 26, "common_name": "Whooping Crane", "code": 2}, "pk": 249, "model": "birds.bird"}, {"fields": {"scientific_name": "Burhinus bistriatus", "bird_class": 27, "common_name": "Double-striped Thick-knee", "code": 5}, "pk": 250, "model": "birds.bird"}, {"fields": {"scientific_name": "Vanellus vanellus", "bird_class": 28, "common_name": "Northern Lapwing", "code": 4}, "pk": 251, "model": "birds.bird"}, {"fields": {"scientific_name": "Pluvialis squatarola", "bird_class": 28, "common_name": "Black-bellied Plover", "code": 1}, "pk": 252, "model": "birds.bird"}, {"fields": {"scientific_name": "Pluvialis apricaria", "bird_class": 28, "common_name": "European Golden-Plover", "code": 4}, "pk": 253, "model": "birds.bird"}, {"fields": {"scientific_name": "Pluvialis dominica", "bird_class": 28, "common_name": "American Golden-Plover", "code": 1}, "pk": 254, "model": "birds.bird"}, {"fields": {"scientific_name": "Pluvialis fulva", "bird_class": 28, "common_name": "Pacific Golden-Plover", "code": 2}, "pk": 255, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius mongolus", "bird_class": 28, "common_name": "Lesser Sand-Plover", "code": 3}, "pk": 256, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius leschenaultii", "bird_class": 28, "common_name": "Greater Sand-Plover", "code": 5}, "pk": 257, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius collaris", "bird_class": 28, "common_name": "Collared Plover", "code": 5}, "pk": 258, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius nivosus", "bird_class": 28, "common_name": "Snowy Plover", "code": 1}, "pk": 259, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius wilsonia", "bird_class": 28, "common_name": "Wilson's Plover", "code": 1}, "pk": 260, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius hiaticula", "bird_class": 28, "common_name": "Common Ringed Plover", "code": 2}, "pk": 261, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius semipalmatus", "bird_class": 28, "common_name": "Semipalmated Plover", "code": 1}, "pk": 262, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius melodus", "bird_class": 28, "common_name": "Piping Plover", "code": 2}, "pk": 263, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius dubius", "bird_class": 28, "common_name": "Little Ringed Plover", "code": 5}, "pk": 264, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius vociferus", "bird_class": 28, "common_name": "Killdeer", "code": 1}, "pk": 265, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius montanus", "bird_class": 28, "common_name": "Mountain Plover", "code": 2}, "pk": 266, "model": "birds.bird"}, {"fields": {"scientific_name": "Charadrius morinellus", "bird_class": 28, "common_name": "Eurasian Dotterel", "code": 4}, "pk": 267, "model": "birds.bird"}, {"fields": {"scientific_name": "Haematopus ostralegus", "bird_class": 29, "common_name": "Eurasian Oystercatcher", "code": 5}, "pk": 268, "model": "birds.bird"}, {"fields": {"scientific_name": "Haematopus palliatus", "bird_class": 29, "common_name": "American Oystercatcher", "code": 1}, "pk": 269, "model": "birds.bird"}, {"fields": {"scientific_name": "Haematopus bachmani", "bird_class": 29, "common_name": "Black Oystercatcher", "code": 1}, "pk": 270, "model": "birds.bird"}, {"fields": {"scientific_name": "Himantopus himantopus", "bird_class": 30, "common_name": "Black-winged Stilt", "code": 5}, "pk": 271, "model": "birds.bird"}, {"fields": {"scientific_name": "Himantopus mexicanus", "bird_class": 30, "common_name": "Black-necked Stilt", "code": 1}, "pk": 272, "model": "birds.bird"}, {"fields": {"scientific_name": "Recurvirostra americana", "bird_class": 30, "common_name": "American Avocet", "code": 1}, "pk": 273, "model": "birds.bird"}, {"fields": {"scientific_name": "Jacana spinosa", "bird_class": 31, "common_name": "Northern Jacana", "code": 4}, "pk": 274, "model": "birds.bird"}, {"fields": {"scientific_name": "Xenus cinereus", "bird_class": 32, "common_name": "Terek Sandpiper", "code": 3}, "pk": 275, "model": "birds.bird"}, {"fields": {"scientific_name": "Actitis hypoleucos", "bird_class": 32, "common_name": "Common Sandpiper", "code": 3}, "pk": 276, "model": "birds.bird"}, {"fields": {"scientific_name": "Actitis macularius", "bird_class": 32, "common_name": "Spotted Sandpiper", "code": 1}, "pk": 277, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa ochropus", "bird_class": 32, "common_name": "Green Sandpiper", "code": 4}, "pk": 278, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa solitaria", "bird_class": 32, "common_name": "Solitary Sandpiper", "code": 1}, "pk": 279, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa brevipes", "bird_class": 32, "common_name": "Gray-tailed Tattler", "code": 3}, "pk": 280, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa incana", "bird_class": 32, "common_name": "Wandering Tattler", "code": 1}, "pk": 281, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa erythropus", "bird_class": 32, "common_name": "Spotted Redshank", "code": 4}, "pk": 282, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa melanoleuca", "bird_class": 32, "common_name": "Greater Yellowlegs", "code": 1}, "pk": 283, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa nebularia", "bird_class": 32, "common_name": "Common Greenshank", "code": 3}, "pk": 284, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa semipalmata", "bird_class": 32, "common_name": "Willet", "code": 1}, "pk": 285, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa flavipes", "bird_class": 32, "common_name": "Lesser Yellowlegs", "code": 1}, "pk": 286, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa stagnatilis", "bird_class": 32, "common_name": "Marsh Sandpiper", "code": 5}, "pk": 287, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa glareola", "bird_class": 32, "common_name": "Wood Sandpiper", "code": 2}, "pk": 288, "model": "birds.bird"}, {"fields": {"scientific_name": "Tringa totanus", "bird_class": 32, "common_name": "Common Redshank", "code": 5}, "pk": 289, "model": "birds.bird"}, {"fields": {"scientific_name": "Bartramia longicauda", "bird_class": 32, "common_name": "Upland Sandpiper", "code": 1}, "pk": 290, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius minutus", "bird_class": 32, "common_name": "Little Curlew", "code": 5}, "pk": 291, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius borealis", "bird_class": 32, "common_name": "Eskimo Curlew", "code": 6}, "pk": 292, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius phaeopus", "bird_class": 32, "common_name": "Whimbrel", "code": 1}, "pk": 293, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius tahitiensis", "bird_class": 32, "common_name": "Bristle-thighed Curlew", "code": 2}, "pk": 294, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius madagascariensis", "bird_class": 32, "common_name": "Far Eastern Curlew", "code": 4}, "pk": 295, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius tenuirostris", "bird_class": 32, "common_name": "Slender-billed Curlew", "code": 6}, "pk": 296, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius arquata", "bird_class": 32, "common_name": "Eurasian Curlew", "code": 4}, "pk": 297, "model": "birds.bird"}, {"fields": {"scientific_name": "Numenius americanus", "bird_class": 32, "common_name": "Long-billed Curlew", "code": 1}, "pk": 298, "model": "birds.bird"}, {"fields": {"scientific_name": "Limosa limosa", "bird_class": 32, "common_name": "Black-tailed Godwit", "code": 3}, "pk": 299, "model": "birds.bird"}, {"fields": {"scientific_name": "Limosa haemastica", "bird_class": 32, "common_name": "Hudsonian Godwit", "code": 1}, "pk": 300, "model": "birds.bird"}, {"fields": {"scientific_name": "Limosa lapponica", "bird_class": 32, "common_name": "Bar-tailed Godwit", "code": 2}, "pk": 301, "model": "birds.bird"}, {"fields": {"scientific_name": "Limosa fedoa", "bird_class": 32, "common_name": "Marbled Godwit", "code": 1}, "pk": 302, "model": "birds.bird"}, {"fields": {"scientific_name": "Arenaria interpres", "bird_class": 32, "common_name": "Ruddy Turnstone", "code": 1}, "pk": 303, "model": "birds.bird"}, {"fields": {"scientific_name": "Arenaria melanocephala", "bird_class": 32, "common_name": "Black Turnstone", "code": 1}, "pk": 304, "model": "birds.bird"}, {"fields": {"scientific_name": "Aphriza virgata", "bird_class": 32, "common_name": "Surfbird", "code": 1}, "pk": 305, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris tenuirostris", "bird_class": 32, "common_name": "Great Knot", "code": 4}, "pk": 306, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris canutus", "bird_class": 32, "common_name": "Red Knot", "code": 1}, "pk": 307, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris alba", "bird_class": 32, "common_name": "Sanderling", "code": 1}, "pk": 308, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris pusilla", "bird_class": 32, "common_name": "Semipalmated Sandpiper", "code": 1}, "pk": 309, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris mauri", "bird_class": 32, "common_name": "Western Sandpiper", "code": 1}, "pk": 310, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris ruficollis", "bird_class": 32, "common_name": "Red-necked Stint", "code": 3}, "pk": 311, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris minuta", "bird_class": 32, "common_name": "Little Stint", "code": 4}, "pk": 312, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris temminckii", "bird_class": 32, "common_name": "Temminck's Stint", "code": 3}, "pk": 313, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris subminuta", "bird_class": 32, "common_name": "Long-toed Stint", "code": 3}, "pk": 314, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris minutilla", "bird_class": 32, "common_name": "Least Sandpiper", "code": 1}, "pk": 315, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris fuscicollis", "bird_class": 32, "common_name": "White-rumped Sandpiper", "code": 1}, "pk": 316, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris bairdii", "bird_class": 32, "common_name": "Baird's Sandpiper", "code": 1}, "pk": 317, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris melanotos", "bird_class": 32, "common_name": "Pectoral Sandpiper", "code": 1}, "pk": 318, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris acuminata", "bird_class": 32, "common_name": "Sharp-tailed Sandpiper", "code": 3}, "pk": 319, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris maritima", "bird_class": 32, "common_name": "Purple Sandpiper", "code": 1}, "pk": 320, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris ptilocnemis", "bird_class": 32, "common_name": "Rock Sandpiper", "code": 2}, "pk": 321, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris alpina", "bird_class": 32, "common_name": "Dunlin", "code": 1}, "pk": 322, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris ferruginea", "bird_class": 32, "common_name": "Curlew Sandpiper", "code": 3}, "pk": 323, "model": "birds.bird"}, {"fields": {"scientific_name": "Calidris himantopus", "bird_class": 32, "common_name": "Stilt Sandpiper", "code": 1}, "pk": 324, "model": "birds.bird"}, {"fields": {"scientific_name": "Eurynorhynchus pygmeus", "bird_class": 32, "common_name": "Spoon-billed Sandpiper", "code": 4}, "pk": 325, "model": "birds.bird"}, {"fields": {"scientific_name": "Limicola falcinellus", "bird_class": 32, "common_name": "Broad-billed Sandpiper", "code": 4}, "pk": 326, "model": "birds.bird"}, {"fields": {"scientific_name": "Tryngites subruficollis", "bird_class": 32, "common_name": "Buff-breasted Sandpiper", "code": 1}, "pk": 327, "model": "birds.bird"}, {"fields": {"scientific_name": "Philomachus pugnax", "bird_class": 32, "common_name": "Ruff", "code": 3}, "pk": 328, "model": "birds.bird"}, {"fields": {"scientific_name": "Limnodromus griseus", "bird_class": 32, "common_name": "Short-billed Dowitcher", "code": 1}, "pk": 329, "model": "birds.bird"}, {"fields": {"scientific_name": "Limnodromus scolopaceus", "bird_class": 32, "common_name": "Long-billed Dowitcher", "code": 1}, "pk": 330, "model": "birds.bird"}, {"fields": {"scientific_name": "Lymnocryptes minimus", "bird_class": 32, "common_name": "Jack Snipe", "code": 4}, "pk": 331, "model": "birds.bird"}, {"fields": {"scientific_name": "Gallinago delicata", "bird_class": 32, "common_name": "Wilson's Snipe", "code": 1}, "pk": 332, "model": "birds.bird"}, {"fields": {"scientific_name": "Gallinago gallinago", "bird_class": 32, "common_name": "Common Snipe", "code": 3}, "pk": 333, "model": "birds.bird"}, {"fields": {"scientific_name": "Gallinago stenura", "bird_class": 32, "common_name": "Pin-tailed Snipe", "code": 5}, "pk": 334, "model": "birds.bird"}, {"fields": {"scientific_name": "Gallinago solitaria", "bird_class": 32, "common_name": "Solitary Snipe", "code": 5}, "pk": 335, "model": "birds.bird"}, {"fields": {"scientific_name": "Scolopax rusticola", "bird_class": 32, "common_name": "Eurasian Woodcock", "code": 5}, "pk": 336, "model": "birds.bird"}, {"fields": {"scientific_name": "Scolopax minor", "bird_class": 32, "common_name": "American Woodcock", "code": 1}, "pk": 337, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalaropus tricolor", "bird_class": 32, "common_name": "Wilson's Phalarope", "code": 1}, "pk": 338, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalaropus lobatus", "bird_class": 32, "common_name": "Red-necked Phalarope", "code": 1}, "pk": 339, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalaropus fulicarius", "bird_class": 32, "common_name": "Red Phalarope", "code": 1}, "pk": 340, "model": "birds.bird"}, {"fields": {"scientific_name": "Glareola maldivarum", "bird_class": 33, "common_name": "Oriental Pratincole", "code": 5}, "pk": 341, "model": "birds.bird"}, {"fields": {"scientific_name": "Creagrus furcatus", "bird_class": 34, "common_name": "Swallow-tailed Gull", "code": 5}, "pk": 342, "model": "birds.bird"}, {"fields": {"scientific_name": "Rissa tridactyla", "bird_class": 34, "common_name": "Black-legged Kittiwake", "code": 1}, "pk": 343, "model": "birds.bird"}, {"fields": {"scientific_name": "Rissa brevirostris", "bird_class": 34, "common_name": "Red-legged Kittiwake", "code": 2}, "pk": 344, "model": "birds.bird"}, {"fields": {"scientific_name": "Pagophila eburnea", "bird_class": 34, "common_name": "Ivory Gull", "code": 3}, "pk": 345, "model": "birds.bird"}, {"fields": {"scientific_name": "Xema sabini", "bird_class": 34, "common_name": "Sabine's Gull", "code": 1}, "pk": 346, "model": "birds.bird"}, {"fields": {"scientific_name": "Chroicocephalus philadelphia", "bird_class": 34, "common_name": "Bonaparte's Gull", "code": 1}, "pk": 347, "model": "birds.bird"}, {"fields": {"scientific_name": "Chroicocephalus cirrocephalus", "bird_class": 34, "common_name": "Gray-hooded Gull", "code": 5}, "pk": 348, "model": "birds.bird"}, {"fields": {"scientific_name": "Chroicocephalus ridibundus", "bird_class": 34, "common_name": "Black-headed Gull", "code": 3}, "pk": 349, "model": "birds.bird"}, {"fields": {"scientific_name": "Hydrocoloeus minutus", "bird_class": 34, "common_name": "Little Gull", "code": 3}, "pk": 350, "model": "birds.bird"}, {"fields": {"scientific_name": "Rhodostethia rosea", "bird_class": 34, "common_name": "Ross's Gull", "code": 3}, "pk": 351, "model": "birds.bird"}, {"fields": {"scientific_name": "Leucophaeus atricilla", "bird_class": 34, "common_name": "Laughing Gull", "code": 1}, "pk": 352, "model": "birds.bird"}, {"fields": {"scientific_name": "Leucophaeus pipixcan", "bird_class": 34, "common_name": "Franklin's Gull", "code": 1}, "pk": 353, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus belcheri", "bird_class": 34, "common_name": "Belcher's Gull", "code": 5}, "pk": 354, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus crassirostris", "bird_class": 34, "common_name": "Black-tailed Gull", "code": 4}, "pk": 355, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus heermanni", "bird_class": 34, "common_name": "Heermann's Gull", "code": 1}, "pk": 356, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus canus", "bird_class": 34, "common_name": "Mew Gull", "code": 1}, "pk": 357, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus delawarensis", "bird_class": 34, "common_name": "Ring-billed Gull", "code": 1}, "pk": 358, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus occidentalis", "bird_class": 34, "common_name": "Western Gull", "code": 1}, "pk": 359, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus livens", "bird_class": 34, "common_name": "Yellow-footed Gull", "code": 2}, "pk": 360, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus californicus", "bird_class": 34, "common_name": "California Gull", "code": 1}, "pk": 361, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus argentatus", "bird_class": 34, "common_name": "Herring Gull", "code": 1}, "pk": 362, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus michahellis", "bird_class": 34, "common_name": "Yellow-legged Gull", "code": 4}, "pk": 363, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus thayeri", "bird_class": 34, "common_name": "Thayer's Gull", "code": 2}, "pk": 364, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus glaucoides", "bird_class": 34, "common_name": "Iceland Gull", "code": 2}, "pk": 365, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus fuscus", "bird_class": 34, "common_name": "Lesser Black-backed Gull", "code": 2}, "pk": 366, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus schistisagus", "bird_class": 34, "common_name": "Slaty-backed Gull", "code": 3}, "pk": 367, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus glaucescens", "bird_class": 34, "common_name": "Glaucous-winged Gull", "code": 1}, "pk": 368, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus hyperboreus", "bird_class": 34, "common_name": "Glaucous Gull", "code": 1}, "pk": 369, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus marinus", "bird_class": 34, "common_name": "Great Black-backed Gull", "code": 1}, "pk": 370, "model": "birds.bird"}, {"fields": {"scientific_name": "Larus dominicanus", "bird_class": 34, "common_name": "Kelp Gull", "code": 4}, "pk": 371, "model": "birds.bird"}, {"fields": {"scientific_name": "Anous stolidus", "bird_class": 34, "common_name": "Brown Noddy", "code": 2}, "pk": 372, "model": "birds.bird"}, {"fields": {"scientific_name": "Anous minutus", "bird_class": 34, "common_name": "Black Noddy", "code": 3}, "pk": 373, "model": "birds.bird"}, {"fields": {"scientific_name": "Onychoprion fuscatus", "bird_class": 34, "common_name": "Sooty Tern", "code": 2}, "pk": 374, "model": "birds.bird"}, {"fields": {"scientific_name": "Onychoprion anaethetus", "bird_class": 34, "common_name": "Bridled Tern", "code": 2}, "pk": 375, "model": "birds.bird"}, {"fields": {"scientific_name": "Onychoprion aleuticus", "bird_class": 34, "common_name": "Aleutian Tern", "code": 2}, "pk": 376, "model": "birds.bird"}, {"fields": {"scientific_name": "Sternula antillarum", "bird_class": 34, "common_name": "Least Tern", "code": 1}, "pk": 377, "model": "birds.bird"}, {"fields": {"scientific_name": "Phaetusa simplex", "bird_class": 34, "common_name": "Large-billed Tern", "code": 5}, "pk": 378, "model": "birds.bird"}, {"fields": {"scientific_name": "Gelochelidon nilotica", "bird_class": 34, "common_name": "Gull-billed Tern", "code": 1}, "pk": 379, "model": "birds.bird"}, {"fields": {"scientific_name": "Hydroprogne caspia", "bird_class": 34, "common_name": "Caspian Tern", "code": 1}, "pk": 380, "model": "birds.bird"}, {"fields": {"scientific_name": "Chlidonias niger", "bird_class": 34, "common_name": "Black Tern", "code": 1}, "pk": 381, "model": "birds.bird"}, {"fields": {"scientific_name": "Chlidonias leucopterus", "bird_class": 34, "common_name": "White-winged Tern", "code": 4}, "pk": 382, "model": "birds.bird"}, {"fields": {"scientific_name": "Chlidonias hybrida", "bird_class": 34, "common_name": "Whiskered Tern", "code": 5}, "pk": 383, "model": "birds.bird"}, {"fields": {"scientific_name": "Sterna dougallii", "bird_class": 34, "common_name": "Roseate Tern", "code": 2}, "pk": 384, "model": "birds.bird"}, {"fields": {"scientific_name": "Sterna hirundo", "bird_class": 34, "common_name": "Common Tern", "code": 1}, "pk": 385, "model": "birds.bird"}, {"fields": {"scientific_name": "Sterna paradisaea", "bird_class": 34, "common_name": "Arctic Tern", "code": 1}, "pk": 386, "model": "birds.bird"}, {"fields": {"scientific_name": "Sterna forsteri", "bird_class": 34, "common_name": "Forster's Tern", "code": 1}, "pk": 387, "model": "birds.bird"}, {"fields": {"scientific_name": "Thalasseus maximus", "bird_class": 34, "common_name": "Royal Tern", "code": 1}, "pk": 388, "model": "birds.bird"}, {"fields": {"scientific_name": "Thalasseus sandvicensis", "bird_class": 34, "common_name": "Sandwich Tern", "code": 1}, "pk": 389, "model": "birds.bird"}, {"fields": {"scientific_name": "Thalasseus elegans", "bird_class": 34, "common_name": "Elegant Tern", "code": 1}, "pk": 390, "model": "birds.bird"}, {"fields": {"scientific_name": "Rynchops niger", "bird_class": 34, "common_name": "Black Skimmer", "code": 1}, "pk": 391, "model": "birds.bird"}, {"fields": {"scientific_name": "Stercorarius skua", "bird_class": 35, "common_name": "Great Skua", "code": 3}, "pk": 392, "model": "birds.bird"}, {"fields": {"scientific_name": "Stercorarius maccormicki", "bird_class": 35, "common_name": "South Polar Skua", "code": 2}, "pk": 393, "model": "birds.bird"}, {"fields": {"scientific_name": "Stercorarius pomarinus", "bird_class": 35, "common_name": "Pomarine Jaeger", "code": 1}, "pk": 394, "model": "birds.bird"}, {"fields": {"scientific_name": "Stercorarius parasiticus", "bird_class": 35, "common_name": "Parasitic Jaeger", "code": 1}, "pk": 395, "model": "birds.bird"}, {"fields": {"scientific_name": "Stercorarius longicaudus", "bird_class": 35, "common_name": "Long-tailed Jaeger", "code": 1}, "pk": 396, "model": "birds.bird"}, {"fields": {"scientific_name": "Alle alle", "bird_class": 36, "common_name": "Dovekie", "code": 2}, "pk": 397, "model": "birds.bird"}, {"fields": {"scientific_name": "Uria aalge", "bird_class": 36, "common_name": "Common Murre", "code": 1}, "pk": 398, "model": "birds.bird"}, {"fields": {"scientific_name": "Uria lomvia", "bird_class": 36, "common_name": "Thick-billed Murre", "code": 1}, "pk": 399, "model": "birds.bird"}, {"fields": {"scientific_name": "Alca torda", "bird_class": 36, "common_name": "Razorbill", "code": 1}, "pk": 400, "model": "birds.bird"}, {"fields": {"scientific_name": "Pinguinus impennis", "bird_class": 36, "common_name": "Great Auk", "code": 6}, "pk": 401, "model": "birds.bird"}, {"fields": {"scientific_name": "Cepphus grylle", "bird_class": 36, "common_name": "Black Guillemot", "code": 1}, "pk": 402, "model": "birds.bird"}, {"fields": {"scientific_name": "Cepphus columba", "bird_class": 36, "common_name": "Pigeon Guillemot", "code": 1}, "pk": 403, "model": "birds.bird"}, {"fields": {"scientific_name": "Brachyramphus perdix", "bird_class": 36, "common_name": "Long-billed Murrelet", "code": 3}, "pk": 404, "model": "birds.bird"}, {"fields": {"scientific_name": "Brachyramphus marmoratus", "bird_class": 36, "common_name": "Marbled Murrelet", "code": 1}, "pk": 405, "model": "birds.bird"}, {"fields": {"scientific_name": "Brachyramphus brevirostris", "bird_class": 36, "common_name": "Kittlitz's Murrelet", "code": 2}, "pk": 406, "model": "birds.bird"}, {"fields": {"scientific_name": "Synthliboramphus scrippsi", "bird_class": 36, "common_name": "Scripps\u2019s Murrelet", "code": 2}, "pk": 407, "model": "birds.bird"}, {"fields": {"scientific_name": "Synthliboramphus hypoleucus", "bird_class": 36, "common_name": "Guadalupe Murrelet", "code": 3}, "pk": 408, "model": "birds.bird"}, {"fields": {"scientific_name": "Synthliboramphus craveri", "bird_class": 36, "common_name": "Craveri's Murrelet", "code": 3}, "pk": 409, "model": "birds.bird"}, {"fields": {"scientific_name": "Synthliboramphus antiquus", "bird_class": 36, "common_name": "Ancient Murrelet", "code": 2}, "pk": 410, "model": "birds.bird"}, {"fields": {"scientific_name": "Ptychoramphus aleuticus", "bird_class": 36, "common_name": "Cassin's Auklet", "code": 1}, "pk": 411, "model": "birds.bird"}, {"fields": {"scientific_name": "Aethia psittacula", "bird_class": 36, "common_name": "Parakeet Auklet", "code": 2}, "pk": 412, "model": "birds.bird"}, {"fields": {"scientific_name": "Aethia pusilla", "bird_class": 36, "common_name": "Least Auklet", "code": 2}, "pk": 413, "model": "birds.bird"}, {"fields": {"scientific_name": "Aethia pygmaea", "bird_class": 36, "common_name": "Whiskered Auklet", "code": 2}, "pk": 414, "model": "birds.bird"}, {"fields": {"scientific_name": "Aethia cristatella", "bird_class": 36, "common_name": "Crested Auklet", "code": 2}, "pk": 415, "model": "birds.bird"}, {"fields": {"scientific_name": "Cerorhinca monocerata", "bird_class": 36, "common_name": "Rhinoceros Auklet", "code": 1}, "pk": 416, "model": "birds.bird"}, {"fields": {"scientific_name": "Fratercula arctica", "bird_class": 36, "common_name": "Atlantic Puffin", "code": 1}, "pk": 417, "model": "birds.bird"}, {"fields": {"scientific_name": "Fratercula corniculata", "bird_class": 36, "common_name": "Horned Puffin", "code": 1}, "pk": 418, "model": "birds.bird"}, {"fields": {"scientific_name": "Fratercula cirrhata", "bird_class": 36, "common_name": "Tufted Puffin", "code": 1}, "pk": 419, "model": "birds.bird"}, {"fields": {"scientific_name": "Columba livia", "bird_class": 37, "common_name": "Rock Pigeon", "code": 1}, "pk": 420, "model": "birds.bird"}, {"fields": {"scientific_name": "Patagioenas squamosa", "bird_class": 37, "common_name": "Scaly-naped Pigeon", "code": 5}, "pk": 421, "model": "birds.bird"}, {"fields": {"scientific_name": "Patagioenas leucocephala", "bird_class": 37, "common_name": "White-crowned Pigeon", "code": 2}, "pk": 422, "model": "birds.bird"}, {"fields": {"scientific_name": "Patagioenas flavirostris", "bird_class": 37, "common_name": "Red-billed Pigeon", "code": 2}, "pk": 423, "model": "birds.bird"}, {"fields": {"scientific_name": "Patagioenas fasciata", "bird_class": 37, "common_name": "Band-tailed Pigeon", "code": 1}, "pk": 424, "model": "birds.bird"}, {"fields": {"scientific_name": "Streptopelia orientalis", "bird_class": 37, "common_name": "Oriental Turtle-Dove", "code": 4}, "pk": 425, "model": "birds.bird"}, {"fields": {"scientific_name": "Streptopelia turtur", "bird_class": 37, "common_name": "European Turtle-Dove", "code": 5}, "pk": 426, "model": "birds.bird"}, {"fields": {"scientific_name": "Streptopelia decaocto", "bird_class": 37, "common_name": "Eurasian Collared-Dove", "code": 1}, "pk": 427, "model": "birds.bird"}, {"fields": {"scientific_name": "Streptopelia chinensis", "bird_class": 37, "common_name": "Spotted Dove", "code": 2}, "pk": 428, "model": "birds.bird"}, {"fields": {"scientific_name": "Zenaida asiatica", "bird_class": 37, "common_name": "White-winged Dove", "code": 1}, "pk": 429, "model": "birds.bird"}, {"fields": {"scientific_name": "Zenaida aurita", "bird_class": 37, "common_name": "Zenaida Dove", "code": 5}, "pk": 430, "model": "birds.bird"}, {"fields": {"scientific_name": "Zenaida macroura", "bird_class": 37, "common_name": "Mourning Dove", "code": 1}, "pk": 431, "model": "birds.bird"}, {"fields": {"scientific_name": "Ectopistes migratorius", "bird_class": 37, "common_name": "Passenger Pigeon", "code": 6}, "pk": 432, "model": "birds.bird"}, {"fields": {"scientific_name": "Columbina inca", "bird_class": 37, "common_name": "Inca Dove", "code": 1}, "pk": 433, "model": "birds.bird"}, {"fields": {"scientific_name": "Columbina passerina", "bird_class": 37, "common_name": "Common Ground-Dove", "code": 1}, "pk": 434, "model": "birds.bird"}, {"fields": {"scientific_name": "Columbina talpacoti", "bird_class": 37, "common_name": "Ruddy Ground-Dove", "code": 3}, "pk": 435, "model": "birds.bird"}, {"fields": {"scientific_name": "Leptotila verreauxi", "bird_class": 37, "common_name": "White-tipped Dove", "code": 2}, "pk": 436, "model": "birds.bird"}, {"fields": {"scientific_name": "Geotrygon chrysia", "bird_class": 37, "common_name": "Key West Quail-Dove", "code": 4}, "pk": 437, "model": "birds.bird"}, {"fields": {"scientific_name": "Geotrygon montana", "bird_class": 37, "common_name": "Ruddy Quail-Dove", "code": 5}, "pk": 438, "model": "birds.bird"}, {"fields": {"scientific_name": "Cuculus canorus", "bird_class": 38, "common_name": "Common Cuckoo", "code": 3}, "pk": 439, "model": "birds.bird"}, {"fields": {"scientific_name": "Cuculus optatus", "bird_class": 38, "common_name": "Oriental Cuckoo", "code": 4}, "pk": 440, "model": "birds.bird"}, {"fields": {"scientific_name": "Coccyzus americanus", "bird_class": 38, "common_name": "Yellow-billed Cuckoo", "code": 1}, "pk": 441, "model": "birds.bird"}, {"fields": {"scientific_name": "Coccyzus minor", "bird_class": 38, "common_name": "Mangrove Cuckoo", "code": 2}, "pk": 442, "model": "birds.bird"}, {"fields": {"scientific_name": "Coccyzus erythropthalmus", "bird_class": 38, "common_name": "Black-billed Cuckoo", "code": 1}, "pk": 443, "model": "birds.bird"}, {"fields": {"scientific_name": "Geococcyx californianus", "bird_class": 38, "common_name": "Greater Roadrunner", "code": 1}, "pk": 444, "model": "birds.bird"}, {"fields": {"scientific_name": "Crotophaga ani", "bird_class": 38, "common_name": "Smooth-billed Ani", "code": 3}, "pk": 445, "model": "birds.bird"}, {"fields": {"scientific_name": "Crotophaga sulcirostris", "bird_class": 38, "common_name": "Groove-billed Ani", "code": 2}, "pk": 446, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyto alba", "bird_class": 39, "common_name": "Barn Owl", "code": 1}, "pk": 447, "model": "birds.bird"}, {"fields": {"scientific_name": "Otus flammeolus", "bird_class": 40, "common_name": "Flammulated Owl", "code": 2}, "pk": 448, "model": "birds.bird"}, {"fields": {"scientific_name": "Otus sunia", "bird_class": 40, "common_name": "Oriental Scops-Owl", "code": 5}, "pk": 449, "model": "birds.bird"}, {"fields": {"scientific_name": "Megascops kennicottii", "bird_class": 40, "common_name": "Western Screech-Owl", "code": 1}, "pk": 450, "model": "birds.bird"}, {"fields": {"scientific_name": "Megascops asio", "bird_class": 40, "common_name": "Eastern Screech-Owl", "code": 1}, "pk": 451, "model": "birds.bird"}, {"fields": {"scientific_name": "Megascops trichopsis", "bird_class": 40, "common_name": "Whiskered Screech-Owl", "code": 2}, "pk": 452, "model": "birds.bird"}, {"fields": {"scientific_name": "Bubo virginianus", "bird_class": 40, "common_name": "Great Horned Owl", "code": 1}, "pk": 453, "model": "birds.bird"}, {"fields": {"scientific_name": "Bubo scandiacus", "bird_class": 40, "common_name": "Snowy Owl", "code": 2}, "pk": 454, "model": "birds.bird"}, {"fields": {"scientific_name": "Surnia ulula", "bird_class": 40, "common_name": "Northern Hawk Owl", "code": 2}, "pk": 455, "model": "birds.bird"}, {"fields": {"scientific_name": "Glaucidium gnoma", "bird_class": 40, "common_name": "Northern Pygmy-Owl", "code": 2}, "pk": 456, "model": "birds.bird"}, {"fields": {"scientific_name": "Glaucidium brasilianum", "bird_class": 40, "common_name": "Ferruginous Pygmy-Owl", "code": 3}, "pk": 457, "model": "birds.bird"}, {"fields": {"scientific_name": "Micrathene whitneyi", "bird_class": 40, "common_name": "Elf Owl", "code": 2}, "pk": 458, "model": "birds.bird"}, {"fields": {"scientific_name": "Athene cunicularia", "bird_class": 40, "common_name": "Burrowing Owl", "code": 1}, "pk": 459, "model": "birds.bird"}, {"fields": {"scientific_name": "Ciccaba virgata", "bird_class": 40, "common_name": "Mottled Owl", "code": 5}, "pk": 460, "model": "birds.bird"}, {"fields": {"scientific_name": "Strix occidentalis", "bird_class": 40, "common_name": "Spotted Owl", "code": 2}, "pk": 461, "model": "birds.bird"}, {"fields": {"scientific_name": "Strix varia", "bird_class": 40, "common_name": "Barred Owl", "code": 1}, "pk": 462, "model": "birds.bird"}, {"fields": {"scientific_name": "Strix nebulosa", "bird_class": 40, "common_name": "Great Gray Owl", "code": 2}, "pk": 463, "model": "birds.bird"}, {"fields": {"scientific_name": "Asio otus", "bird_class": 40, "common_name": "Long-eared Owl", "code": 2}, "pk": 464, "model": "birds.bird"}, {"fields": {"scientific_name": "Asio stygius", "bird_class": 40, "common_name": "Stygian Owl", "code": 5}, "pk": 465, "model": "birds.bird"}, {"fields": {"scientific_name": "Asio flammeus", "bird_class": 40, "common_name": "Short-eared Owl", "code": 1}, "pk": 466, "model": "birds.bird"}, {"fields": {"scientific_name": "Aegolius funereus", "bird_class": 40, "common_name": "Boreal Owl", "code": 2}, "pk": 467, "model": "birds.bird"}, {"fields": {"scientific_name": "Aegolius acadicus", "bird_class": 40, "common_name": "Northern Saw-whet Owl", "code": 2}, "pk": 468, "model": "birds.bird"}, {"fields": {"scientific_name": "Ninox scutulata", "bird_class": 40, "common_name": "Brown Hawk-Owl", "code": 5}, "pk": 469, "model": "birds.bird"}, {"fields": {"scientific_name": "Chordeiles acutipennis", "bird_class": 41, "common_name": "Lesser Nighthawk", "code": 1}, "pk": 470, "model": "birds.bird"}, {"fields": {"scientific_name": "Chordeiles minor", "bird_class": 41, "common_name": "Common Nighthawk", "code": 1}, "pk": 471, "model": "birds.bird"}, {"fields": {"scientific_name": "Chordeiles gundlachii", "bird_class": 41, "common_name": "Antillean Nighthawk", "code": 2}, "pk": 472, "model": "birds.bird"}, {"fields": {"scientific_name": "Nyctidromus albicollis", "bird_class": 41, "common_name": "Common Pauraque", "code": 2}, "pk": 473, "model": "birds.bird"}, {"fields": {"scientific_name": "Phalaenoptilus nuttallii", "bird_class": 41, "common_name": "Common Poorwill", "code": 1}, "pk": 474, "model": "birds.bird"}, {"fields": {"scientific_name": "Antrostomus carolinensis", "bird_class": 41, "common_name": "Chuck-will's-widow", "code": 1}, "pk": 475, "model": "birds.bird"}, {"fields": {"scientific_name": "Antrostomus ridgwayi", "bird_class": 41, "common_name": "Buff-collared Nightjar", "code": 3}, "pk": 476, "model": "birds.bird"}, {"fields": {"scientific_name": "Antrostomus vociferus", "bird_class": 41, "common_name": "Eastern Whip-poor-will", "code": 1}, "pk": 477, "model": "birds.bird"}, {"fields": {"scientific_name": "Antrostomus arizonae", "bird_class": 41, "common_name": "Mexican Whip-poor-will", "code": 1}, "pk": 478, "model": "birds.bird"}, {"fields": {"scientific_name": "Caprimulgus indicus", "bird_class": 41, "common_name": "Gray Nightjar", "code": 5}, "pk": 479, "model": "birds.bird"}, {"fields": {"scientific_name": "Cypseloides niger", "bird_class": 42, "common_name": "Black Swift", "code": 2}, "pk": 480, "model": "birds.bird"}, {"fields": {"scientific_name": "Streptoprocne zonaris", "bird_class": 42, "common_name": "White-collared Swift", "code": 4}, "pk": 481, "model": "birds.bird"}, {"fields": {"scientific_name": "Chaetura pelagica", "bird_class": 42, "common_name": "Chimney Swift", "code": 1}, "pk": 482, "model": "birds.bird"}, {"fields": {"scientific_name": "Chaetura vauxi", "bird_class": 42, "common_name": "Vaux's Swift", "code": 1}, "pk": 483, "model": "birds.bird"}, {"fields": {"scientific_name": "Hirundapus caudacutus", "bird_class": 42, "common_name": "White-throated Needletail", "code": 5}, "pk": 484, "model": "birds.bird"}, {"fields": {"scientific_name": "Apus apus", "bird_class": 42, "common_name": "Common Swift", "code": 5}, "pk": 485, "model": "birds.bird"}, {"fields": {"scientific_name": "Apus pacificus", "bird_class": 42, "common_name": "Fork-tailed Swift", "code": 4}, "pk": 486, "model": "birds.bird"}, {"fields": {"scientific_name": "Aeronautes saxatalis", "bird_class": 42, "common_name": "White-throated Swift", "code": 1}, "pk": 487, "model": "birds.bird"}, {"fields": {"scientific_name": "Tachornis phoenicobia", "bird_class": 42, "common_name": "Antillean Palm-Swift", "code": 5}, "pk": 488, "model": "birds.bird"}, {"fields": {"scientific_name": "Colibri thalassinus", "bird_class": 43, "common_name": "Green Violetear", "code": 3}, "pk": 489, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthracothorax prevostii", "bird_class": 43, "common_name": "Green-breasted Mango", "code": 4}, "pk": 490, "model": "birds.bird"}, {"fields": {"scientific_name": "Eugenes fulgens", "bird_class": 43, "common_name": "Magnificent Hummingbird", "code": 2}, "pk": 491, "model": "birds.bird"}, {"fields": {"scientific_name": "Heliomaster constantii", "bird_class": 43, "common_name": "Plain-capped Starthroat", "code": 4}, "pk": 492, "model": "birds.bird"}, {"fields": {"scientific_name": "Lampornis clemenciae", "bird_class": 43, "common_name": "Blue-throated Hummingbird", "code": 2}, "pk": 493, "model": "birds.bird"}, {"fields": {"scientific_name": "Calliphlox evelynae", "bird_class": 43, "common_name": "Bahama Woodstar", "code": 5}, "pk": 494, "model": "birds.bird"}, {"fields": {"scientific_name": "Calothorax lucifer", "bird_class": 43, "common_name": "Lucifer Hummingbird", "code": 2}, "pk": 495, "model": "birds.bird"}, {"fields": {"scientific_name": "Archilochus colubris", "bird_class": 43, "common_name": "Ruby-throated Hummingbird", "code": 1}, "pk": 496, "model": "birds.bird"}, {"fields": {"scientific_name": "Archilochus alexandri", "bird_class": 43, "common_name": "Black-chinned Hummingbird", "code": 1}, "pk": 497, "model": "birds.bird"}, {"fields": {"scientific_name": "Calypte anna", "bird_class": 43, "common_name": "Anna's Hummingbird", "code": 1}, "pk": 498, "model": "birds.bird"}, {"fields": {"scientific_name": "Calypte costae", "bird_class": 43, "common_name": "Costa's Hummingbird", "code": 1}, "pk": 499, "model": "birds.bird"}, {"fields": {"scientific_name": "Atthis heloisa", "bird_class": 43, "common_name": "Bumblebee Hummingbird", "code": 5}, "pk": 500, "model": "birds.bird"}, {"fields": {"scientific_name": "Selasphorus platycercus", "bird_class": 43, "common_name": "Broad-tailed Hummingbird", "code": 1}, "pk": 501, "model": "birds.bird"}, {"fields": {"scientific_name": "Selasphorus rufus", "bird_class": 43, "common_name": "Rufous Hummingbird", "code": 1}, "pk": 502, "model": "birds.bird"}, {"fields": {"scientific_name": "Selasphorus sasin", "bird_class": 43, "common_name": "Allen's Hummingbird", "code": 1}, "pk": 503, "model": "birds.bird"}, {"fields": {"scientific_name": "Selasphorus calliope", "bird_class": 43, "common_name": "Calliope Hummingbird", "code": 1}, "pk": 504, "model": "birds.bird"}, {"fields": {"scientific_name": "Cynanthus latirostris", "bird_class": 43, "common_name": "Broad-billed Hummingbird", "code": 2}, "pk": 505, "model": "birds.bird"}, {"fields": {"scientific_name": "Amazilia beryllina", "bird_class": 43, "common_name": "Berylline Hummingbird", "code": 3}, "pk": 506, "model": "birds.bird"}, {"fields": {"scientific_name": "Amazilia yucatanensis", "bird_class": 43, "common_name": "Buff-bellied Hummingbird", "code": 2}, "pk": 507, "model": "birds.bird"}, {"fields": {"scientific_name": "Amazilia rutila", "bird_class": 43, "common_name": "Cinnamon Hummingbird", "code": 5}, "pk": 508, "model": "birds.bird"}, {"fields": {"scientific_name": "Amazilia violiceps", "bird_class": 43, "common_name": "Violet-crowned Hummingbird", "code": 2}, "pk": 509, "model": "birds.bird"}, {"fields": {"scientific_name": "Hylocharis leucotis", "bird_class": 43, "common_name": "White-eared Hummingbird", "code": 3}, "pk": 510, "model": "birds.bird"}, {"fields": {"scientific_name": "Hylocharis xantusii", "bird_class": 43, "common_name": "Xantus's Hummingbird", "code": 5}, "pk": 511, "model": "birds.bird"}, {"fields": {"scientific_name": "Trogon elegans", "bird_class": 44, "common_name": "Elegant Trogon", "code": 2}, "pk": 512, "model": "birds.bird"}, {"fields": {"scientific_name": "Euptilotis neoxenus", "bird_class": 44, "common_name": "Eared Quetzal", "code": 4}, "pk": 513, "model": "birds.bird"}, {"fields": {"scientific_name": "Upupa epops", "bird_class": 45, "common_name": "Eurasian Hoopoe", "code": 5}, "pk": 514, "model": "birds.bird"}, {"fields": {"scientific_name": "Megaceryle torquata", "bird_class": 46, "common_name": "Ringed Kingfisher", "code": 2}, "pk": 515, "model": "birds.bird"}, {"fields": {"scientific_name": "Megaceryle alcyon", "bird_class": 46, "common_name": "Belted Kingfisher", "code": 1}, "pk": 516, "model": "birds.bird"}, {"fields": {"scientific_name": "Chloroceryle amazona", "bird_class": 46, "common_name": "Amazon Kingfisher", "code": 5}, "pk": 517, "model": "birds.bird"}, {"fields": {"scientific_name": "Chloroceryle americana", "bird_class": 46, "common_name": "Green Kingfisher", "code": 2}, "pk": 518, "model": "birds.bird"}, {"fields": {"scientific_name": "Jynx torquilla", "bird_class": 47, "common_name": "Eurasian Wryneck", "code": 5}, "pk": 519, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanerpes lewis", "bird_class": 47, "common_name": "Lewis's Woodpecker", "code": 1}, "pk": 520, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanerpes erythrocephalus", "bird_class": 47, "common_name": "Red-headed Woodpecker", "code": 1}, "pk": 521, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanerpes formicivorus", "bird_class": 47, "common_name": "Acorn Woodpecker", "code": 1}, "pk": 522, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanerpes uropygialis", "bird_class": 47, "common_name": "Gila Woodpecker", "code": 1}, "pk": 523, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanerpes aurifrons", "bird_class": 47, "common_name": "Golden-fronted Woodpecker", "code": 1}, "pk": 524, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanerpes carolinus", "bird_class": 47, "common_name": "Red-bellied Woodpecker", "code": 1}, "pk": 525, "model": "birds.bird"}, {"fields": {"scientific_name": "Sphyrapicus thyroideus", "bird_class": 47, "common_name": "Williamson's Sapsucker", "code": 1}, "pk": 526, "model": "birds.bird"}, {"fields": {"scientific_name": "Sphyrapicus varius", "bird_class": 47, "common_name": "Yellow-bellied Sapsucker", "code": 1}, "pk": 527, "model": "birds.bird"}, {"fields": {"scientific_name": "Sphyrapicus nuchalis", "bird_class": 47, "common_name": "Red-naped Sapsucker", "code": 1}, "pk": 528, "model": "birds.bird"}, {"fields": {"scientific_name": "Sphyrapicus ruber", "bird_class": 47, "common_name": "Red-breasted Sapsucker", "code": 1}, "pk": 529, "model": "birds.bird"}, {"fields": {"scientific_name": "Dendrocopos major", "bird_class": 47, "common_name": "Great Spotted Woodpecker", "code": 4}, "pk": 530, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides scalaris", "bird_class": 47, "common_name": "Ladder-backed Woodpecker", "code": 1}, "pk": 531, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides nuttallii", "bird_class": 47, "common_name": "Nuttall's Woodpecker", "code": 1}, "pk": 532, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides pubescens", "bird_class": 47, "common_name": "Downy Woodpecker", "code": 1}, "pk": 533, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides villosus", "bird_class": 47, "common_name": "Hairy Woodpecker", "code": 1}, "pk": 534, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides arizonae", "bird_class": 47, "common_name": "Arizona Woodpecker", "code": 2}, "pk": 535, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides borealis", "bird_class": 47, "common_name": "Red-cockaded Woodpecker", "code": 2}, "pk": 536, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides albolarvatus", "bird_class": 47, "common_name": "White-headed Woodpecker", "code": 1}, "pk": 537, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides dorsalis", "bird_class": 47, "common_name": "American Three-toed Woodpecker", "code": 2}, "pk": 538, "model": "birds.bird"}, {"fields": {"scientific_name": "Picoides arcticus", "bird_class": 47, "common_name": "Black-backed Woodpecker", "code": 2}, "pk": 539, "model": "birds.bird"}, {"fields": {"scientific_name": "Colaptes auratus", "bird_class": 47, "common_name": "Northern Flicker", "code": 1}, "pk": 540, "model": "birds.bird"}, {"fields": {"scientific_name": "Colaptes chrysoides", "bird_class": 47, "common_name": "Gilded Flicker", "code": 2}, "pk": 541, "model": "birds.bird"}, {"fields": {"scientific_name": "Dryocopus pileatus", "bird_class": 47, "common_name": "Pileated Woodpecker", "code": 1}, "pk": 542, "model": "birds.bird"}, {"fields": {"scientific_name": "Campephilus principalis", "bird_class": 47, "common_name": "Ivory-billed Woodpecker", "code": 6}, "pk": 543, "model": "birds.bird"}, {"fields": {"scientific_name": "Micrastur semitorquatus", "bird_class": 48, "common_name": "Collared Forest-Falcon", "code": 5}, "pk": 544, "model": "birds.bird"}, {"fields": {"scientific_name": "Caracara cheriway", "bird_class": 48, "common_name": "Crested Caracara", "code": 1}, "pk": 545, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco tinnunculus", "bird_class": 48, "common_name": "Eurasian Kestrel", "code": 4}, "pk": 546, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco sparverius", "bird_class": 48, "common_name": "American Kestrel", "code": 1}, "pk": 547, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco vespertinus", "bird_class": 48, "common_name": "Red-footed Falcon", "code": 5}, "pk": 548, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco columbarius", "bird_class": 48, "common_name": "Merlin", "code": 1}, "pk": 549, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco subbuteo", "bird_class": 48, "common_name": "Eurasian Hobby", "code": 4}, "pk": 550, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco femoralis", "bird_class": 48, "common_name": "Aplomado Falcon", "code": 3}, "pk": 551, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco rusticolus", "bird_class": 48, "common_name": "Gyrfalcon", "code": 2}, "pk": 552, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco peregrinus", "bird_class": 48, "common_name": "Peregrine Falcon", "code": 1}, "pk": 553, "model": "birds.bird"}, {"fields": {"scientific_name": "Falco mexicanus", "bird_class": 48, "common_name": "Prairie Falcon", "code": 1}, "pk": 554, "model": "birds.bird"}, {"fields": {"scientific_name": "Melopsittacus undulatus", "bird_class": 49, "common_name": "Budgerigar", "code": 3}, "pk": 555, "model": "birds.bird"}, {"fields": {"scientific_name": "Agapornis roseicollis", "bird_class": 49, "common_name": "Rosy-faced Lovebird", "code": 2}, "pk": 556, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiopsitta monachus", "bird_class": 49, "common_name": "Monk Parakeet", "code": 2}, "pk": 557, "model": "birds.bird"}, {"fields": {"scientific_name": "Conuropsis carolinensis", "bird_class": 49, "common_name": "Carolina Parakeet", "code": 6}, "pk": 558, "model": "birds.bird"}, {"fields": {"scientific_name": "Aratinga holochlora", "bird_class": 49, "common_name": "Green Parakeet", "code": 2}, "pk": 559, "model": "birds.bird"}, {"fields": {"scientific_name": "Nandayus nenday", "bird_class": 49, "common_name": "Nanday Parakeet", "code": 2}, "pk": 560, "model": "birds.bird"}, {"fields": {"scientific_name": "Rhynchopsitta pachyrhyncha", "bird_class": 49, "common_name": "Thick-billed Parrot", "code": 6}, "pk": 561, "model": "birds.bird"}, {"fields": {"scientific_name": "Brotogeris versicolurus", "bird_class": 49, "common_name": "White-winged Parakeet", "code": 2}, "pk": 562, "model": "birds.bird"}, {"fields": {"scientific_name": "Amazona viridigenalis", "bird_class": 49, "common_name": "Red-crowned Parrot", "code": 2}, "pk": 563, "model": "birds.bird"}, {"fields": {"scientific_name": "Camptostoma imberbe", "bird_class": 50, "common_name": "Northern Beardless-Tyrannulet", "code": 2}, "pk": 564, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiopagis viridicata", "bird_class": 50, "common_name": "Greenish Elaenia", "code": 5}, "pk": 565, "model": "birds.bird"}, {"fields": {"scientific_name": "Elaenia albiceps", "bird_class": 50, "common_name": "White-crested Elaenia", "code": 5}, "pk": 566, "model": "birds.bird"}, {"fields": {"scientific_name": "Mitrephanes phaeocercus", "bird_class": 50, "common_name": "Tufted Flycatcher", "code": 5}, "pk": 567, "model": "birds.bird"}, {"fields": {"scientific_name": "Contopus cooperi", "bird_class": 50, "common_name": "Olive-sided Flycatcher", "code": 1}, "pk": 568, "model": "birds.bird"}, {"fields": {"scientific_name": "Contopus pertinax", "bird_class": 50, "common_name": "Greater Pewee", "code": 2}, "pk": 569, "model": "birds.bird"}, {"fields": {"scientific_name": "Contopus sordidulus", "bird_class": 50, "common_name": "Western Wood-Pewee", "code": 1}, "pk": 570, "model": "birds.bird"}, {"fields": {"scientific_name": "Contopus virens", "bird_class": 50, "common_name": "Eastern Wood-Pewee", "code": 1}, "pk": 571, "model": "birds.bird"}, {"fields": {"scientific_name": "Contopus caribaeus", "bird_class": 50, "common_name": "Cuban Pewee", "code": 5}, "pk": 572, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax flaviventris", "bird_class": 50, "common_name": "Yellow-bellied Flycatcher", "code": 1}, "pk": 573, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax virescens", "bird_class": 50, "common_name": "Acadian Flycatcher", "code": 1}, "pk": 574, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax alnorum", "bird_class": 50, "common_name": "Alder Flycatcher", "code": 1}, "pk": 575, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax traillii", "bird_class": 50, "common_name": "Willow Flycatcher", "code": 1}, "pk": 576, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax minimus", "bird_class": 50, "common_name": "Least Flycatcher", "code": 1}, "pk": 577, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax hammondii", "bird_class": 50, "common_name": "Hammond's Flycatcher", "code": 1}, "pk": 578, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax wrightii", "bird_class": 50, "common_name": "Gray Flycatcher", "code": 1}, "pk": 579, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax oberholseri", "bird_class": 50, "common_name": "Dusky Flycatcher", "code": 1}, "pk": 580, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax difficilis", "bird_class": 50, "common_name": "Pacific-slope Flycatcher", "code": 1}, "pk": 581, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax occidentalis", "bird_class": 50, "common_name": "Cordilleran Flycatcher", "code": 1}, "pk": 582, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonax fulvifrons", "bird_class": 50, "common_name": "Buff-breasted Flycatcher", "code": 2}, "pk": 583, "model": "birds.bird"}, {"fields": {"scientific_name": "Sayornis nigricans", "bird_class": 50, "common_name": "Black Phoebe", "code": 1}, "pk": 584, "model": "birds.bird"}, {"fields": {"scientific_name": "Sayornis phoebe", "bird_class": 50, "common_name": "Eastern Phoebe", "code": 1}, "pk": 585, "model": "birds.bird"}, {"fields": {"scientific_name": "Sayornis saya", "bird_class": 50, "common_name": "Say's Phoebe", "code": 1}, "pk": 586, "model": "birds.bird"}, {"fields": {"scientific_name": "Pyrocephalus rubinus", "bird_class": 50, "common_name": "Vermilion Flycatcher", "code": 1}, "pk": 587, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiarchus tuberculifer", "bird_class": 50, "common_name": "Dusky-capped Flycatcher", "code": 2}, "pk": 588, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiarchus cinerascens", "bird_class": 50, "common_name": "Ash-throated Flycatcher", "code": 1}, "pk": 589, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiarchus nuttingi", "bird_class": 50, "common_name": "Nutting's Flycatcher", "code": 5}, "pk": 590, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiarchus crinitus", "bird_class": 50, "common_name": "Great Crested Flycatcher", "code": 1}, "pk": 591, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiarchus tyrannulus", "bird_class": 50, "common_name": "Brown-crested Flycatcher", "code": 1}, "pk": 592, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiarchus sagrae", "bird_class": 50, "common_name": "La Sagra's Flycatcher", "code": 3}, "pk": 593, "model": "birds.bird"}, {"fields": {"scientific_name": "Pitangus sulphuratus", "bird_class": 50, "common_name": "Great Kiskadee", "code": 2}, "pk": 594, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiozetetes similis", "bird_class": 50, "common_name": "Social Flycatcher", "code": 5}, "pk": 595, "model": "birds.bird"}, {"fields": {"scientific_name": "Myiodynastes luteiventris", "bird_class": 50, "common_name": "Sulphur-bellied Flycatcher", "code": 2}, "pk": 596, "model": "birds.bird"}, {"fields": {"scientific_name": "Legatus leucophaius", "bird_class": 50, "common_name": "Piratic Flycatcher", "code": 4}, "pk": 597, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonomus varius", "bird_class": 50, "common_name": "Variegated Flycatcher", "code": 5}, "pk": 598, "model": "birds.bird"}, {"fields": {"scientific_name": "Empidonomus aurantioatrocristatus", "bird_class": 50, "common_name": "Crowned Slaty Flycatcher", "code": 5}, "pk": 599, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus melancholicus", "bird_class": 50, "common_name": "Tropical Kingbird", "code": 2}, "pk": 600, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus couchii", "bird_class": 50, "common_name": "Couch's Kingbird", "code": 2}, "pk": 601, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus vociferans", "bird_class": 50, "common_name": "Cassin's Kingbird", "code": 1}, "pk": 602, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus crassirostris", "bird_class": 50, "common_name": "Thick-billed Kingbird", "code": 2}, "pk": 603, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus verticalis", "bird_class": 50, "common_name": "Western Kingbird", "code": 1}, "pk": 604, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus tyrannus", "bird_class": 50, "common_name": "Eastern Kingbird", "code": 1}, "pk": 605, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus dominicensis", "bird_class": 50, "common_name": "Gray Kingbird", "code": 2}, "pk": 606, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus caudifasciatus", "bird_class": 50, "common_name": "Loggerhead Kingbird", "code": 5}, "pk": 607, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus forficatus", "bird_class": 50, "common_name": "Scissor-tailed Flycatcher", "code": 1}, "pk": 608, "model": "birds.bird"}, {"fields": {"scientific_name": "Tyrannus savana", "bird_class": 50, "common_name": "Fork-tailed Flycatcher", "code": 3}, "pk": 609, "model": "birds.bird"}, {"fields": {"scientific_name": "Tityra semifasciata", "bird_class": 51, "common_name": "Masked Tityra", "code": 5}, "pk": 610, "model": "birds.bird"}, {"fields": {"scientific_name": "Pachyramphus major", "bird_class": 51, "common_name": "Gray-collared Becard", "code": 5}, "pk": 611, "model": "birds.bird"}, {"fields": {"scientific_name": "Pachyramphus aglaiae", "bird_class": 51, "common_name": "Rose-throated Becard", "code": 3}, "pk": 612, "model": "birds.bird"}, {"fields": {"scientific_name": "Lanius cristatus", "bird_class": 52, "common_name": "Brown Shrike", "code": 4}, "pk": 613, "model": "birds.bird"}, {"fields": {"scientific_name": "Lanius ludovicianus", "bird_class": 52, "common_name": "Loggerhead Shrike", "code": 1}, "pk": 614, "model": "birds.bird"}, {"fields": {"scientific_name": "Lanius excubitor", "bird_class": 52, "common_name": "Northern Shrike", "code": 1}, "pk": 615, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo griseus", "bird_class": 53, "common_name": "White-eyed Vireo", "code": 1}, "pk": 616, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo crassirostris", "bird_class": 53, "common_name": "Thick-billed Vireo", "code": 4}, "pk": 617, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo bellii", "bird_class": 53, "common_name": "Bell's Vireo", "code": 1}, "pk": 618, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo atricapilla", "bird_class": 53, "common_name": "Black-capped Vireo", "code": 2}, "pk": 619, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo vicinior", "bird_class": 53, "common_name": "Gray Vireo", "code": 2}, "pk": 620, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo flavifrons", "bird_class": 53, "common_name": "Yellow-throated Vireo", "code": 1}, "pk": 621, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo plumbeus", "bird_class": 53, "common_name": "Plumbeous Vireo", "code": 1}, "pk": 622, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo cassinii", "bird_class": 53, "common_name": "Cassin's Vireo", "code": 1}, "pk": 623, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo solitarius", "bird_class": 53, "common_name": "Blue-headed Vireo", "code": 1}, "pk": 624, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo huttoni", "bird_class": 53, "common_name": "Hutton's Vireo", "code": 1}, "pk": 625, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo gilvus", "bird_class": 53, "common_name": "Warbling Vireo", "code": 1}, "pk": 626, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo philadelphicus", "bird_class": 53, "common_name": "Philadelphia Vireo", "code": 1}, "pk": 627, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo olivaceus", "bird_class": 53, "common_name": "Red-eyed Vireo", "code": 1}, "pk": 628, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo flavoviridis", "bird_class": 53, "common_name": "Yellow-green Vireo", "code": 3}, "pk": 629, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo altiloquus", "bird_class": 53, "common_name": "Black-whiskered Vireo", "code": 2}, "pk": 630, "model": "birds.bird"}, {"fields": {"scientific_name": "Vireo magister", "bird_class": 53, "common_name": "Yucatan Vireo", "code": 5}, "pk": 631, "model": "birds.bird"}, {"fields": {"scientific_name": "Perisoreus canadensis", "bird_class": 54, "common_name": "Gray Jay", "code": 1}, "pk": 632, "model": "birds.bird"}, {"fields": {"scientific_name": "Psilorhinus morio", "bird_class": 54, "common_name": "Brown Jay", "code": 3}, "pk": 633, "model": "birds.bird"}, {"fields": {"scientific_name": "Cyanocorax yncas", "bird_class": 54, "common_name": "Green Jay", "code": 2}, "pk": 634, "model": "birds.bird"}, {"fields": {"scientific_name": "Gymnorhinus cyanocephalus", "bird_class": 54, "common_name": "Pinyon Jay", "code": 1}, "pk": 635, "model": "birds.bird"}, {"fields": {"scientific_name": "Cyanocitta stelleri", "bird_class": 54, "common_name": "Steller's Jay", "code": 1}, "pk": 636, "model": "birds.bird"}, {"fields": {"scientific_name": "Cyanocitta cristata", "bird_class": 54, "common_name": "Blue Jay", "code": 1}, "pk": 637, "model": "birds.bird"}, {"fields": {"scientific_name": "Aphelocoma coerulescens", "bird_class": 54, "common_name": "Florida Scrub-Jay", "code": 2}, "pk": 638, "model": "birds.bird"}, {"fields": {"scientific_name": "Aphelocoma insularis", "bird_class": 54, "common_name": "Island Scrub-Jay", "code": 2}, "pk": 639, "model": "birds.bird"}, {"fields": {"scientific_name": "Aphelocoma californica", "bird_class": 54, "common_name": "Western Scrub-Jay", "code": 1}, "pk": 640, "model": "birds.bird"}, {"fields": {"scientific_name": "Aphelocoma wollweberi", "bird_class": 54, "common_name": "Mexican Jay", "code": 2}, "pk": 641, "model": "birds.bird"}, {"fields": {"scientific_name": "Nucifraga columbiana", "bird_class": 54, "common_name": "Clark's Nutcracker", "code": 1}, "pk": 642, "model": "birds.bird"}, {"fields": {"scientific_name": "Pica hudsonia", "bird_class": 54, "common_name": "Black-billed Magpie", "code": 1}, "pk": 643, "model": "birds.bird"}, {"fields": {"scientific_name": "Pica nuttalli", "bird_class": 54, "common_name": "Yellow-billed Magpie", "code": 2}, "pk": 644, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus monedula", "bird_class": 54, "common_name": "Eurasian Jackdaw", "code": 4}, "pk": 645, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus brachyrhynchos", "bird_class": 54, "common_name": "American Crow", "code": 1}, "pk": 646, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus caurinus", "bird_class": 54, "common_name": "Northwestern Crow", "code": 1}, "pk": 647, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus imparatus", "bird_class": 54, "common_name": "Tamaulipas Crow", "code": 3}, "pk": 648, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus ossifragus", "bird_class": 54, "common_name": "Fish Crow", "code": 1}, "pk": 649, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus cryptoleucus", "bird_class": 54, "common_name": "Chihuahuan Raven", "code": 1}, "pk": 650, "model": "birds.bird"}, {"fields": {"scientific_name": "Corvus corax", "bird_class": 54, "common_name": "Common Raven", "code": 1}, "pk": 651, "model": "birds.bird"}, {"fields": {"scientific_name": "Alauda arvensis", "bird_class": 55, "common_name": "Sky Lark", "code": 3}, "pk": 652, "model": "birds.bird"}, {"fields": {"scientific_name": "Eremophila alpestris", "bird_class": 55, "common_name": "Horned Lark", "code": 1}, "pk": 653, "model": "birds.bird"}, {"fields": {"scientific_name": "Progne subis", "bird_class": 56, "common_name": "Purple Martin", "code": 1}, "pk": 654, "model": "birds.bird"}, {"fields": {"scientific_name": "Progne cryptoleuca", "bird_class": 56, "common_name": "Cuban Martin", "code": 5}, "pk": 655, "model": "birds.bird"}, {"fields": {"scientific_name": "Progne chalybea", "bird_class": 56, "common_name": "Gray-breasted Martin", "code": 5}, "pk": 656, "model": "birds.bird"}, {"fields": {"scientific_name": "Progne elegans", "bird_class": 56, "common_name": "Southern Martin", "code": 5}, "pk": 657, "model": "birds.bird"}, {"fields": {"scientific_name": "Progne tapera", "bird_class": 56, "common_name": "Brown-chested Martin", "code": 5}, "pk": 658, "model": "birds.bird"}, {"fields": {"scientific_name": "Tachycineta bicolor", "bird_class": 56, "common_name": "Tree Swallow", "code": 1}, "pk": 659, "model": "birds.bird"}, {"fields": {"scientific_name": "Tachycineta albilinea", "bird_class": 56, "common_name": "Mangrove Swallow", "code": 5}, "pk": 660, "model": "birds.bird"}, {"fields": {"scientific_name": "Tachycineta thalassina", "bird_class": 56, "common_name": "Violet-green Swallow", "code": 1}, "pk": 661, "model": "birds.bird"}, {"fields": {"scientific_name": "Tachycineta cyaneoviridis", "bird_class": 56, "common_name": "Bahama Swallow", "code": 4}, "pk": 662, "model": "birds.bird"}, {"fields": {"scientific_name": "Stelgidopteryx serripennis", "bird_class": 56, "common_name": "Northern Rough-winged Swallow", "code": 1}, "pk": 663, "model": "birds.bird"}, {"fields": {"scientific_name": "Riparia riparia", "bird_class": 56, "common_name": "Bank Swallow", "code": 1}, "pk": 664, "model": "birds.bird"}, {"fields": {"scientific_name": "Petrochelidon pyrrhonota", "bird_class": 56, "common_name": "Cliff Swallow", "code": 1}, "pk": 665, "model": "birds.bird"}, {"fields": {"scientific_name": "Petrochelidon fulva", "bird_class": 56, "common_name": "Cave Swallow", "code": 1}, "pk": 666, "model": "birds.bird"}, {"fields": {"scientific_name": "Hirundo rustica", "bird_class": 56, "common_name": "Barn Swallow", "code": 1}, "pk": 667, "model": "birds.bird"}, {"fields": {"scientific_name": "Delichon urbicum", "bird_class": 56, "common_name": "Common House-Martin", "code": 4}, "pk": 668, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile carolinensis", "bird_class": 57, "common_name": "Carolina Chickadee", "code": 1}, "pk": 669, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile atricapillus", "bird_class": 57, "common_name": "Black-capped Chickadee", "code": 1}, "pk": 670, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile gambeli", "bird_class": 57, "common_name": "Mountain Chickadee", "code": 1}, "pk": 671, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile sclateri", "bird_class": 57, "common_name": "Mexican Chickadee", "code": 2}, "pk": 672, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile rufescens", "bird_class": 57, "common_name": "Chestnut-backed Chickadee", "code": 1}, "pk": 673, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile hudsonicus", "bird_class": 57, "common_name": "Boreal Chickadee", "code": 1}, "pk": 674, "model": "birds.bird"}, {"fields": {"scientific_name": "Poecile cinctus", "bird_class": 57, "common_name": "Gray-headed Chickadee", "code": 3}, "pk": 675, "model": "birds.bird"}, {"fields": {"scientific_name": "Baeolophus wollweberi", "bird_class": 57, "common_name": "Bridled Titmouse", "code": 2}, "pk": 676, "model": "birds.bird"}, {"fields": {"scientific_name": "Baeolophus inornatus", "bird_class": 57, "common_name": "Oak Titmouse", "code": 1}, "pk": 677, "model": "birds.bird"}, {"fields": {"scientific_name": "Baeolophus ridgwayi", "bird_class": 57, "common_name": "Juniper Titmouse", "code": 1}, "pk": 678, "model": "birds.bird"}, {"fields": {"scientific_name": "Baeolophus bicolor", "bird_class": 57, "common_name": "Tufted Titmouse", "code": 1}, "pk": 679, "model": "birds.bird"}, {"fields": {"scientific_name": "Baeolophus atricristatus", "bird_class": 57, "common_name": "Black-crested Titmouse", "code": 2}, "pk": 680, "model": "birds.bird"}, {"fields": {"scientific_name": "Auriparus flaviceps", "bird_class": 58, "common_name": "Verdin", "code": 1}, "pk": 681, "model": "birds.bird"}, {"fields": {"scientific_name": "Psaltriparus minimus", "bird_class": 59, "common_name": "Bushtit", "code": 1}, "pk": 682, "model": "birds.bird"}, {"fields": {"scientific_name": "Sitta canadensis", "bird_class": 60, "common_name": "Red-breasted Nuthatch", "code": 1}, "pk": 683, "model": "birds.bird"}, {"fields": {"scientific_name": "Sitta carolinensis", "bird_class": 60, "common_name": "White-breasted Nuthatch", "code": 1}, "pk": 684, "model": "birds.bird"}, {"fields": {"scientific_name": "Sitta pygmaea", "bird_class": 60, "common_name": "Pygmy Nuthatch", "code": 1}, "pk": 685, "model": "birds.bird"}, {"fields": {"scientific_name": "Sitta pusilla", "bird_class": 60, "common_name": "Brown-headed Nuthatch", "code": 1}, "pk": 686, "model": "birds.bird"}, {"fields": {"scientific_name": "Certhia americana", "bird_class": 61, "common_name": "Brown Creeper", "code": 1}, "pk": 687, "model": "birds.bird"}, {"fields": {"scientific_name": "Salpinctes obsoletus", "bird_class": 62, "common_name": "Rock Wren", "code": 1}, "pk": 688, "model": "birds.bird"}, {"fields": {"scientific_name": "Catherpes mexicanus", "bird_class": 62, "common_name": "Canyon Wren", "code": 1}, "pk": 689, "model": "birds.bird"}, {"fields": {"scientific_name": "Troglodytes aedon", "bird_class": 62, "common_name": "House Wren", "code": 1}, "pk": 690, "model": "birds.bird"}, {"fields": {"scientific_name": "Troglodytes pacificus", "bird_class": 62, "common_name": "Pacific Wren", "code": 1}, "pk": 691, "model": "birds.bird"}, {"fields": {"scientific_name": "Troglodytes hiemalis", "bird_class": 62, "common_name": "Winter Wren", "code": 1}, "pk": 692, "model": "birds.bird"}, {"fields": {"scientific_name": "Cistothorus platensis", "bird_class": 62, "common_name": "Sedge Wren", "code": 1}, "pk": 693, "model": "birds.bird"}, {"fields": {"scientific_name": "Cistothorus palustris", "bird_class": 62, "common_name": "Marsh Wren", "code": 1}, "pk": 694, "model": "birds.bird"}, {"fields": {"scientific_name": "Thryothorus ludovicianus", "bird_class": 62, "common_name": "Carolina Wren", "code": 1}, "pk": 695, "model": "birds.bird"}, {"fields": {"scientific_name": "Thryomanes bewickii", "bird_class": 62, "common_name": "Bewick's Wren", "code": 1}, "pk": 696, "model": "birds.bird"}, {"fields": {"scientific_name": "Campylorhynchus brunneicapillus", "bird_class": 62, "common_name": "Cactus Wren", "code": 1}, "pk": 697, "model": "birds.bird"}, {"fields": {"scientific_name": "Thryophilus sinaloa", "bird_class": 62, "common_name": "Sinaloa Wren", "code": 5}, "pk": 698, "model": "birds.bird"}, {"fields": {"scientific_name": "Polioptila caerulea", "bird_class": 63, "common_name": "Blue-gray Gnatcatcher", "code": 1}, "pk": 699, "model": "birds.bird"}, {"fields": {"scientific_name": "Polioptila californica", "bird_class": 63, "common_name": "California Gnatcatcher", "code": 2}, "pk": 700, "model": "birds.bird"}, {"fields": {"scientific_name": "Polioptila melanura", "bird_class": 63, "common_name": "Black-tailed Gnatcatcher", "code": 1}, "pk": 701, "model": "birds.bird"}, {"fields": {"scientific_name": "Polioptila nigriceps", "bird_class": 63, "common_name": "Black-capped Gnatcatcher", "code": 3}, "pk": 702, "model": "birds.bird"}, {"fields": {"scientific_name": "Cinclus mexicanus", "bird_class": 64, "common_name": "American Dipper", "code": 1}, "pk": 703, "model": "birds.bird"}, {"fields": {"scientific_name": "Pycnonotus jocosus", "bird_class": 65, "common_name": "Red-whiskered Bulbul", "code": 2}, "pk": 704, "model": "birds.bird"}, {"fields": {"scientific_name": "Regulus satrapa", "bird_class": 66, "common_name": "Golden-crowned Kinglet", "code": 1}, "pk": 705, "model": "birds.bird"}, {"fields": {"scientific_name": "Regulus calendula", "bird_class": 66, "common_name": "Ruby-crowned Kinglet", "code": 1}, "pk": 706, "model": "birds.bird"}, {"fields": {"scientific_name": "Phylloscopus trochilus", "bird_class": 67, "common_name": "Willow Warbler", "code": 5}, "pk": 707, "model": "birds.bird"}, {"fields": {"scientific_name": "Phylloscopus sibilatrix", "bird_class": 67, "common_name": "Wood Warbler", "code": 5}, "pk": 708, "model": "birds.bird"}, {"fields": {"scientific_name": "Phylloscopus fuscatus", "bird_class": 67, "common_name": "Dusky Warbler", "code": 4}, "pk": 709, "model": "birds.bird"}, {"fields": {"scientific_name": "Phylloscopus proregulus", "bird_class": 67, "common_name": "Pallas's Leaf-Warbler", "code": 5}, "pk": 710, "model": "birds.bird"}, {"fields": {"scientific_name": "Phylloscopus inornatus", "bird_class": 67, "common_name": "Yellow-browed Warbler", "code": 4}, "pk": 711, "model": "birds.bird"}, {"fields": {"scientific_name": "Phylloscopus borealis", "bird_class": 67, "common_name": "Arctic Warbler", "code": 2}, "pk": 712, "model": "birds.bird"}, {"fields": {"scientific_name": "Sylvia curruca", "bird_class": 68, "common_name": "Lesser Whitethroat", "code": 5}, "pk": 713, "model": "birds.bird"}, {"fields": {"scientific_name": "Chamaea fasciata", "bird_class": 68, "common_name": "Wrentit", "code": 1}, "pk": 714, "model": "birds.bird"}, {"fields": {"scientific_name": "Acrocephalus schoenobaenus", "bird_class": 69, "common_name": "Sedge Warbler", "code": 5}, "pk": 715, "model": "birds.bird"}, {"fields": {"scientific_name": "Locustella ochotensis", "bird_class": 70, "common_name": "Middendorff's Grasshopper-Warbler", "code": 4}, "pk": 716, "model": "birds.bird"}, {"fields": {"scientific_name": "Locustella lanceolata", "bird_class": 70, "common_name": "Lanceolated Warbler", "code": 5}, "pk": 717, "model": "birds.bird"}, {"fields": {"scientific_name": "Muscicapa griseisticta", "bird_class": 71, "common_name": "Gray-streaked Flycatcher", "code": 4}, "pk": 718, "model": "birds.bird"}, {"fields": {"scientific_name": "Muscicapa dauurica", "bird_class": 71, "common_name": "Asian Brown Flycatcher", "code": 5}, "pk": 719, "model": "birds.bird"}, {"fields": {"scientific_name": "Muscicapa striata", "bird_class": 71, "common_name": "Spotted Flycatcher", "code": 5}, "pk": 720, "model": "birds.bird"}, {"fields": {"scientific_name": "Muscicapa sibirica", "bird_class": 71, "common_name": "Dark-sided Flycatcher", "code": 4}, "pk": 721, "model": "birds.bird"}, {"fields": {"scientific_name": "Luscinia sibilans", "bird_class": 71, "common_name": "Rufous-tailed Robin", "code": 5}, "pk": 722, "model": "birds.bird"}, {"fields": {"scientific_name": "Luscinia calliope", "bird_class": 71, "common_name": "Siberian Rubythroat", "code": 3}, "pk": 723, "model": "birds.bird"}, {"fields": {"scientific_name": "Luscinia svecica", "bird_class": 71, "common_name": "Bluethroat", "code": 2}, "pk": 724, "model": "birds.bird"}, {"fields": {"scientific_name": "Luscinia cyane", "bird_class": 71, "common_name": "Siberian Blue Robin", "code": 5}, "pk": 725, "model": "birds.bird"}, {"fields": {"scientific_name": "Tarsiger cyanurus", "bird_class": 71, "common_name": "Red-flanked Bluetail", "code": 4}, "pk": 726, "model": "birds.bird"}, {"fields": {"scientific_name": "Ficedula narcissina", "bird_class": 71, "common_name": "Narcissus Flycatcher", "code": 5}, "pk": 727, "model": "birds.bird"}, {"fields": {"scientific_name": "Ficedula mugimaki", "bird_class": 71, "common_name": "Mugimaki Flycatcher", "code": 5}, "pk": 728, "model": "birds.bird"}, {"fields": {"scientific_name": "Ficedula albicilla", "bird_class": 71, "common_name": "Taiga Flycatcher", "code": 4}, "pk": 729, "model": "birds.bird"}, {"fields": {"scientific_name": "Oenanthe oenanthe", "bird_class": 71, "common_name": "Northern Wheatear", "code": 2}, "pk": 730, "model": "birds.bird"}, {"fields": {"scientific_name": "Saxicola torquatus", "bird_class": 71, "common_name": "Stonechat", "code": 4}, "pk": 731, "model": "birds.bird"}, {"fields": {"scientific_name": "Sialia sialis", "bird_class": 72, "common_name": "Eastern Bluebird", "code": 1}, "pk": 732, "model": "birds.bird"}, {"fields": {"scientific_name": "Sialia mexicana", "bird_class": 72, "common_name": "Western Bluebird", "code": 1}, "pk": 733, "model": "birds.bird"}, {"fields": {"scientific_name": "Sialia currucoides", "bird_class": 72, "common_name": "Mountain Bluebird", "code": 1}, "pk": 734, "model": "birds.bird"}, {"fields": {"scientific_name": "Myadestes townsendi", "bird_class": 72, "common_name": "Townsend's Solitaire", "code": 1}, "pk": 735, "model": "birds.bird"}, {"fields": {"scientific_name": "Myadestes occidentalis", "bird_class": 72, "common_name": "Brown-backed Solitaire", "code": 5}, "pk": 736, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus aurantiirostris", "bird_class": 72, "common_name": "Orange-billed Nightingale-Thrush", "code": 5}, "pk": 737, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus mexicanus", "bird_class": 72, "common_name": "Black-headed Nightingale-Thrush", "code": 5}, "pk": 738, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus fuscescens", "bird_class": 72, "common_name": "Veery", "code": 1}, "pk": 739, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus minimus", "bird_class": 72, "common_name": "Gray-cheeked Thrush", "code": 1}, "pk": 740, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus bicknelli", "bird_class": 72, "common_name": "Bicknell's Thrush", "code": 2}, "pk": 741, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus ustulatus", "bird_class": 72, "common_name": "Swainson's Thrush", "code": 1}, "pk": 742, "model": "birds.bird"}, {"fields": {"scientific_name": "Catharus guttatus", "bird_class": 72, "common_name": "Hermit Thrush", "code": 1}, "pk": 743, "model": "birds.bird"}, {"fields": {"scientific_name": "Hylocichla mustelina", "bird_class": 72, "common_name": "Wood Thrush", "code": 1}, "pk": 744, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus merula", "bird_class": 72, "common_name": "Eurasian Blackbird", "code": 5}, "pk": 745, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus obscurus", "bird_class": 72, "common_name": "Eyebrowed Thrush", "code": 3}, "pk": 746, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus naumanni", "bird_class": 72, "common_name": "Dusky Thrush", "code": 4}, "pk": 747, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus pilaris", "bird_class": 72, "common_name": "Fieldfare", "code": 4}, "pk": 748, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus iliacus", "bird_class": 72, "common_name": "Redwing", "code": 4}, "pk": 749, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus philomelos", "bird_class": 72, "common_name": "Song Thrush", "code": 5}, "pk": 750, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus grayi", "bird_class": 72, "common_name": "Clay-colored Thrush", "code": 3}, "pk": 751, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus assimilis", "bird_class": 72, "common_name": "White-throated Thrush", "code": 4}, "pk": 752, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus rufopalliatus", "bird_class": 72, "common_name": "Rufous-backed Robin", "code": 3}, "pk": 753, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus migratorius", "bird_class": 72, "common_name": "American Robin", "code": 1}, "pk": 754, "model": "birds.bird"}, {"fields": {"scientific_name": "Turdus plumbeus", "bird_class": 72, "common_name": "Red-legged Thrush", "code": 5}, "pk": 755, "model": "birds.bird"}, {"fields": {"scientific_name": "Ixoreus naevius", "bird_class": 72, "common_name": "Varied Thrush", "code": 1}, "pk": 756, "model": "birds.bird"}, {"fields": {"scientific_name": "Ridgwayia pinicola", "bird_class": 72, "common_name": "Aztec Thrush", "code": 4}, "pk": 757, "model": "birds.bird"}, {"fields": {"scientific_name": "Dumetella carolinensis", "bird_class": 73, "common_name": "Gray Catbird", "code": 1}, "pk": 758, "model": "birds.bird"}, {"fields": {"scientific_name": "Mimus polyglottos", "bird_class": 73, "common_name": "Northern Mockingbird", "code": 1}, "pk": 759, "model": "birds.bird"}, {"fields": {"scientific_name": "Mimus gundlachii", "bird_class": 73, "common_name": "Bahama Mockingbird", "code": 4}, "pk": 760, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreoscoptes montanus", "bird_class": 73, "common_name": "Sage Thrasher", "code": 1}, "pk": 761, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma rufum", "bird_class": 73, "common_name": "Brown Thrasher", "code": 1}, "pk": 762, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma longirostre", "bird_class": 73, "common_name": "Long-billed Thrasher", "code": 2}, "pk": 763, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma bendirei", "bird_class": 73, "common_name": "Bendire's Thrasher", "code": 2}, "pk": 764, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma curvirostre", "bird_class": 73, "common_name": "Curve-billed Thrasher", "code": 1}, "pk": 765, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma redivivum", "bird_class": 73, "common_name": "California Thrasher", "code": 2}, "pk": 766, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma crissale", "bird_class": 73, "common_name": "Crissal Thrasher", "code": 2}, "pk": 767, "model": "birds.bird"}, {"fields": {"scientific_name": "Toxostoma lecontei", "bird_class": 73, "common_name": "Le Conte's Thrasher", "code": 2}, "pk": 768, "model": "birds.bird"}, {"fields": {"scientific_name": "Melanotis caerulescens", "bird_class": 73, "common_name": "Blue Mockingbird", "code": 5}, "pk": 769, "model": "birds.bird"}, {"fields": {"scientific_name": "Sturnus vulgaris", "bird_class": 74, "common_name": "European Starling", "code": 1}, "pk": 770, "model": "birds.bird"}, {"fields": {"scientific_name": "Acridotheres tristis", "bird_class": 74, "common_name": "Common Myna", "code": 2}, "pk": 771, "model": "birds.bird"}, {"fields": {"scientific_name": "Prunella montanella", "bird_class": 75, "common_name": "Siberian Accentor", "code": 4}, "pk": 772, "model": "birds.bird"}, {"fields": {"scientific_name": "Motacilla tschutschensis", "bird_class": 76, "common_name": "Eastern Yellow Wagtail", "code": 2}, "pk": 773, "model": "birds.bird"}, {"fields": {"scientific_name": "Motacilla citreola", "bird_class": 76, "common_name": "Citrine Wagtail", "code": 5}, "pk": 774, "model": "birds.bird"}, {"fields": {"scientific_name": "Motacilla cinerea", "bird_class": 76, "common_name": "Gray Wagtail", "code": 4}, "pk": 775, "model": "birds.bird"}, {"fields": {"scientific_name": "Motacilla alba", "bird_class": 76, "common_name": "White Wagtail", "code": 3}, "pk": 776, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthus trivialis", "bird_class": 76, "common_name": "Tree Pipit", "code": 5}, "pk": 777, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthus hodgsoni", "bird_class": 76, "common_name": "Olive-backed Pipit", "code": 3}, "pk": 778, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthus gustavi", "bird_class": 76, "common_name": "Pechora Pipit", "code": 4}, "pk": 779, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthus cervinus", "bird_class": 76, "common_name": "Red-throated Pipit", "code": 3}, "pk": 780, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthus rubescens", "bird_class": 76, "common_name": "American Pipit", "code": 1}, "pk": 781, "model": "birds.bird"}, {"fields": {"scientific_name": "Anthus spragueii", "bird_class": 76, "common_name": "Sprague's Pipit", "code": 2}, "pk": 782, "model": "birds.bird"}, {"fields": {"scientific_name": "Bombycilla garrulus", "bird_class": 77, "common_name": "Bohemian Waxwing", "code": 2}, "pk": 783, "model": "birds.bird"}, {"fields": {"scientific_name": "Bombycilla cedrorum", "bird_class": 77, "common_name": "Cedar Waxwing", "code": 1}, "pk": 784, "model": "birds.bird"}, {"fields": {"scientific_name": "Ptilogonys cinereus", "bird_class": 78, "common_name": "Gray Silky-flycatcher", "code": 5}, "pk": 785, "model": "birds.bird"}, {"fields": {"scientific_name": "Phainopepla nitens", "bird_class": 78, "common_name": "Phainopepla", "code": 1}, "pk": 786, "model": "birds.bird"}, {"fields": {"scientific_name": "Peucedramus taeniatus", "bird_class": 79, "common_name": "Olive Warbler", "code": 2}, "pk": 787, "model": "birds.bird"}, {"fields": {"scientific_name": "Calcarius lapponicus", "bird_class": 80, "common_name": "Lapland Longspur", "code": 1}, "pk": 788, "model": "birds.bird"}, {"fields": {"scientific_name": "Calcarius ornatus", "bird_class": 80, "common_name": "Chestnut-collared Longspur", "code": 1}, "pk": 789, "model": "birds.bird"}, {"fields": {"scientific_name": "Calcarius pictus", "bird_class": 80, "common_name": "Smith's Longspur", "code": 2}, "pk": 790, "model": "birds.bird"}, {"fields": {"scientific_name": "Rhynchophanes mccownii", "bird_class": 80, "common_name": "McCown's Longspur", "code": 2}, "pk": 791, "model": "birds.bird"}, {"fields": {"scientific_name": "Plectrophenax nivalis", "bird_class": 80, "common_name": "Snow Bunting", "code": 1}, "pk": 792, "model": "birds.bird"}, {"fields": {"scientific_name": "Plectrophenax hyperboreus", "bird_class": 80, "common_name": "McKay's Bunting", "code": 2}, "pk": 793, "model": "birds.bird"}, {"fields": {"scientific_name": "Seiurus aurocapilla", "bird_class": 81, "common_name": "Ovenbird", "code": 1}, "pk": 794, "model": "birds.bird"}, {"fields": {"scientific_name": "Helmitheros vermivorum", "bird_class": 81, "common_name": "Worm-eating Warbler", "code": 1}, "pk": 795, "model": "birds.bird"}, {"fields": {"scientific_name": "Parkesia motacilla", "bird_class": 81, "common_name": "Louisiana Waterthrush", "code": 1}, "pk": 796, "model": "birds.bird"}, {"fields": {"scientific_name": "Parkesia noveboracensis", "bird_class": 81, "common_name": "Northern Waterthrush", "code": 1}, "pk": 797, "model": "birds.bird"}, {"fields": {"scientific_name": "Vermivora bachmanii", "bird_class": 81, "common_name": "Bachman's Warbler", "code": 6}, "pk": 798, "model": "birds.bird"}, {"fields": {"scientific_name": "Vermivora chrysoptera", "bird_class": 81, "common_name": "Golden-winged Warbler", "code": 2}, "pk": 799, "model": "birds.bird"}, {"fields": {"scientific_name": "Vermivora cyanoptera", "bird_class": 81, "common_name": "Blue-winged Warbler", "code": 1}, "pk": 800, "model": "birds.bird"}, {"fields": {"scientific_name": "Mniotilta varia", "bird_class": 81, "common_name": "Black-and-white Warbler", "code": 1}, "pk": 801, "model": "birds.bird"}, {"fields": {"scientific_name": "Protonotaria citrea", "bird_class": 81, "common_name": "Prothonotary Warbler", "code": 1}, "pk": 802, "model": "birds.bird"}, {"fields": {"scientific_name": "Limnothlypis swainsonii", "bird_class": 81, "common_name": "Swainson's Warbler", "code": 2}, "pk": 803, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis superciliosa", "bird_class": 81, "common_name": "Crescent-chested Warbler", "code": 4}, "pk": 804, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis peregrina", "bird_class": 81, "common_name": "Tennessee Warbler", "code": 1}, "pk": 805, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis celata", "bird_class": 81, "common_name": "Orange-crowned Warbler", "code": 1}, "pk": 806, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis crissalis", "bird_class": 81, "common_name": "Colima Warbler", "code": 1}, "pk": 807, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis luciae", "bird_class": 81, "common_name": "Lucy's Warbler", "code": 1}, "pk": 808, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis ruficapilla", "bird_class": 81, "common_name": "Nashville Warbler", "code": 1}, "pk": 809, "model": "birds.bird"}, {"fields": {"scientific_name": "Oreothlypis virginiae", "bird_class": 81, "common_name": "Virginia\u2019s Warbler", "code": 1}, "pk": 810, "model": "birds.bird"}, {"fields": {"scientific_name": "Oporornis agilis", "bird_class": 81, "common_name": "Connecticut Warbler", "code": 2}, "pk": 811, "model": "birds.bird"}, {"fields": {"scientific_name": "Geothlypis poliocephala", "bird_class": 81, "common_name": "Gray-crowned Yellowthroat", "code": 4}, "pk": 812, "model": "birds.bird"}, {"fields": {"scientific_name": "Geothlypis tolmiei", "bird_class": 81, "common_name": "MacGillivray's Warbler", "code": 1}, "pk": 813, "model": "birds.bird"}, {"fields": {"scientific_name": "Geothlypis philadelphia", "bird_class": 81, "common_name": "Mourning Warbler", "code": 1}, "pk": 814, "model": "birds.bird"}, {"fields": {"scientific_name": "Geothlypis formosa", "bird_class": 81, "common_name": "Kentucky Warbler", "code": 1}, "pk": 815, "model": "birds.bird"}, {"fields": {"scientific_name": "Geothlypis trichas", "bird_class": 81, "common_name": "Common Yellowthroat", "code": 1}, "pk": 816, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga citrina", "bird_class": 81, "common_name": "Hooded Warbler", "code": 1}, "pk": 817, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga ruticilla", "bird_class": 81, "common_name": "American Redstart", "code": 1}, "pk": 818, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga kirtlandii", "bird_class": 81, "common_name": "Kirtland's Warbler", "code": 2}, "pk": 819, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga tigrina", "bird_class": 81, "common_name": "Cape May Warbler", "code": 1}, "pk": 820, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga cerulea", "bird_class": 81, "common_name": "Cerulean Warbler", "code": 2}, "pk": 821, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga americana", "bird_class": 81, "common_name": "Northern Parula", "code": 1}, "pk": 822, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga pitiayumi", "bird_class": 81, "common_name": "Tropical Parula", "code": 3}, "pk": 823, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga magnolia", "bird_class": 81, "common_name": "Magnolia Warbler", "code": 1}, "pk": 824, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga castanea", "bird_class": 81, "common_name": "Bay-breasted Warbler", "code": 1}, "pk": 825, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga fusca", "bird_class": 81, "common_name": "Blackburnian Warbler", "code": 1}, "pk": 826, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga petechia", "bird_class": 81, "common_name": "Yellow Warbler", "code": 1}, "pk": 827, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga pensylvanica", "bird_class": 81, "common_name": "Chestnut-sided Warbler", "code": 1}, "pk": 828, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga striata", "bird_class": 81, "common_name": "Blackpoll Warbler", "code": 1}, "pk": 829, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga caerulescens", "bird_class": 81, "common_name": "Black-throated Blue Warbler", "code": 1}, "pk": 830, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga palmarum", "bird_class": 81, "common_name": "Palm Warbler", "code": 1}, "pk": 831, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga pinus", "bird_class": 81, "common_name": "Pine Warbler", "code": 1}, "pk": 832, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga coronata", "bird_class": 81, "common_name": "Yellow-rumped Warbler", "code": 1}, "pk": 833, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga dominica", "bird_class": 81, "common_name": "Yellow-throated Warbler", "code": 1}, "pk": 834, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga discolor", "bird_class": 81, "common_name": "Prairie Warbler", "code": 1}, "pk": 835, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga graciae", "bird_class": 81, "common_name": "Grace's Warbler", "code": 1}, "pk": 836, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga nigrescens", "bird_class": 81, "common_name": "Black-throated Gray Warbler", "code": 1}, "pk": 837, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga townsendi", "bird_class": 81, "common_name": "Townsend's Warbler", "code": 1}, "pk": 838, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga occidentalis", "bird_class": 81, "common_name": "Hermit Warbler", "code": 1}, "pk": 839, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga chrysoparia", "bird_class": 81, "common_name": "Golden-cheeked Warbler", "code": 2}, "pk": 840, "model": "birds.bird"}, {"fields": {"scientific_name": "Setophaga virens", "bird_class": 81, "common_name": "Black-throated Green Warbler", "code": 1}, "pk": 841, "model": "birds.bird"}, {"fields": {"scientific_name": "Basileuterus lachrymosus", "bird_class": 81, "common_name": "Fan-tailed Warbler", "code": 4}, "pk": 842, "model": "birds.bird"}, {"fields": {"scientific_name": "Basileuterus rufifrons", "bird_class": 81, "common_name": "Rufous-capped Warbler", "code": 3}, "pk": 843, "model": "birds.bird"}, {"fields": {"scientific_name": "Basileuterus culicivorus", "bird_class": 81, "common_name": "Golden-crowned Warbler", "code": 4}, "pk": 844, "model": "birds.bird"}, {"fields": {"scientific_name": "Cardellina canadensis", "bird_class": 81, "common_name": "Canada Warbler", "code": 1}, "pk": 845, "model": "birds.bird"}, {"fields": {"scientific_name": "Cardellina pusilla", "bird_class": 81, "common_name": "Wilson's Warbler", "code": 1}, "pk": 846, "model": "birds.bird"}, {"fields": {"scientific_name": "Cardellina rubrifrons", "bird_class": 81, "common_name": "Red-faced Warbler", "code": 2}, "pk": 847, "model": "birds.bird"}, {"fields": {"scientific_name": "Myioborus pictus", "bird_class": 81, "common_name": "Painted Redstart", "code": 2}, "pk": 848, "model": "birds.bird"}, {"fields": {"scientific_name": "Myioborus miniatus", "bird_class": 81, "common_name": "Slate-throated Redstart", "code": 4}, "pk": 849, "model": "birds.bird"}, {"fields": {"scientific_name": "Icteria virens", "bird_class": 81, "common_name": "Yellow-breasted Chat", "code": 1}, "pk": 850, "model": "birds.bird"}, {"fields": {"scientific_name": "Coereba flaveola", "bird_class": 82, "common_name": "Bananaquit", "code": 4}, "pk": 851, "model": "birds.bird"}, {"fields": {"scientific_name": "Spindalis zena", "bird_class": 83, "common_name": "Western Spindalis", "code": 3}, "pk": 852, "model": "birds.bird"}, {"fields": {"scientific_name": "Sporophila torqueola", "bird_class": 84, "common_name": "White-collared Seedeater", "code": 3}, "pk": 853, "model": "birds.bird"}, {"fields": {"scientific_name": "Tiaris olivaceus", "bird_class": 84, "common_name": "Yellow-faced Grassquit", "code": 4}, "pk": 854, "model": "birds.bird"}, {"fields": {"scientific_name": "Tiaris bicolor", "bird_class": 84, "common_name": "Black-faced Grassquit", "code": 4}, "pk": 855, "model": "birds.bird"}, {"fields": {"scientific_name": "Arremonops rufivirgatus", "bird_class": 84, "common_name": "Olive Sparrow", "code": 2}, "pk": 856, "model": "birds.bird"}, {"fields": {"scientific_name": "Pipilo chlorurus", "bird_class": 84, "common_name": "Green-tailed Towhee", "code": 1}, "pk": 857, "model": "birds.bird"}, {"fields": {"scientific_name": "Pipilo maculatus", "bird_class": 84, "common_name": "Spotted Towhee", "code": 1}, "pk": 858, "model": "birds.bird"}, {"fields": {"scientific_name": "Pipilo erythrophthalmus", "bird_class": 84, "common_name": "Eastern Towhee", "code": 1}, "pk": 859, "model": "birds.bird"}, {"fields": {"scientific_name": "Aimophila ruficeps", "bird_class": 84, "common_name": "Rufous-crowned Sparrow", "code": 1}, "pk": 860, "model": "birds.bird"}, {"fields": {"scientific_name": "Melozone fusca", "bird_class": 84, "common_name": "Canyon Towhee", "code": 1}, "pk": 861, "model": "birds.bird"}, {"fields": {"scientific_name": "Melozone crissalis", "bird_class": 84, "common_name": "California Towhee", "code": 1}, "pk": 862, "model": "birds.bird"}, {"fields": {"scientific_name": "Melozone aberti", "bird_class": 84, "common_name": "Abert's Towhee", "code": 1}, "pk": 863, "model": "birds.bird"}, {"fields": {"scientific_name": "Peucaea carpalis", "bird_class": 84, "common_name": "Rufous-winged Sparrow", "code": 2}, "pk": 864, "model": "birds.bird"}, {"fields": {"scientific_name": "Peucaea botterii", "bird_class": 84, "common_name": "Botteri's Sparrow", "code": 2}, "pk": 865, "model": "birds.bird"}, {"fields": {"scientific_name": "Peucaea cassinii", "bird_class": 84, "common_name": "Cassin's Sparrow", "code": 1}, "pk": 866, "model": "birds.bird"}, {"fields": {"scientific_name": "Peucaea aestivalis", "bird_class": 84, "common_name": "Bachman's Sparrow", "code": 2}, "pk": 867, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella arborea", "bird_class": 84, "common_name": "American Tree Sparrow", "code": 1}, "pk": 868, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella passerina", "bird_class": 84, "common_name": "Chipping Sparrow", "code": 1}, "pk": 869, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella pallida", "bird_class": 84, "common_name": "Clay-colored Sparrow", "code": 1}, "pk": 870, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella breweri", "bird_class": 84, "common_name": "Brewer's Sparrow", "code": 1}, "pk": 871, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella pusilla", "bird_class": 84, "common_name": "Field Sparrow", "code": 1}, "pk": 872, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella wortheni", "bird_class": 84, "common_name": "Worthen's Sparrow", "code": 5}, "pk": 873, "model": "birds.bird"}, {"fields": {"scientific_name": "Spizella atrogularis", "bird_class": 84, "common_name": "Black-chinned Sparrow", "code": 1}, "pk": 874, "model": "birds.bird"}, {"fields": {"scientific_name": "Pooecetes gramineus", "bird_class": 84, "common_name": "Vesper Sparrow", "code": 1}, "pk": 875, "model": "birds.bird"}, {"fields": {"scientific_name": "Chondestes grammacus", "bird_class": 84, "common_name": "Lark Sparrow", "code": 1}, "pk": 876, "model": "birds.bird"}, {"fields": {"scientific_name": "Amphispiza quinquestriata", "bird_class": 84, "common_name": "Five-striped Sparrow", "code": 3}, "pk": 877, "model": "birds.bird"}, {"fields": {"scientific_name": "Amphispiza bilineata", "bird_class": 84, "common_name": "Black-throated Sparrow", "code": 1}, "pk": 878, "model": "birds.bird"}, {"fields": {"scientific_name": "Artemisiospiza belli", "bird_class": 84, "common_name": "Sage Sparrow", "code": 1}, "pk": 879, "model": "birds.bird"}, {"fields": {"scientific_name": "Calamospiza melanocorys", "bird_class": 84, "common_name": "Lark Bunting", "code": 1}, "pk": 880, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerculus sandwichensis", "bird_class": 84, "common_name": "Savannah Sparrow", "code": 1}, "pk": 881, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus savannarum", "bird_class": 84, "common_name": "Grasshopper Sparrow", "code": 1}, "pk": 882, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus bairdii", "bird_class": 84, "common_name": "Baird's Sparrow", "code": 2}, "pk": 883, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus henslowii", "bird_class": 84, "common_name": "Henslow's Sparrow", "code": 2}, "pk": 884, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus leconteii", "bird_class": 84, "common_name": "Le Conte's Sparrow", "code": 1}, "pk": 885, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus nelsoni", "bird_class": 84, "common_name": "Nelson's Sparrow", "code": 1}, "pk": 886, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus caudacutus", "bird_class": 84, "common_name": "Saltmarsh Sparrow", "code": 1}, "pk": 887, "model": "birds.bird"}, {"fields": {"scientific_name": "Ammodramus maritimus", "bird_class": 84, "common_name": "Seaside Sparrow", "code": 1}, "pk": 888, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerella iliaca", "bird_class": 84, "common_name": "Fox Sparrow", "code": 1}, "pk": 889, "model": "birds.bird"}, {"fields": {"scientific_name": "Melospiza melodia", "bird_class": 84, "common_name": "Song Sparrow", "code": 1}, "pk": 890, "model": "birds.bird"}, {"fields": {"scientific_name": "Melospiza lincolnii", "bird_class": 84, "common_name": "Lincoln's Sparrow", "code": 1}, "pk": 891, "model": "birds.bird"}, {"fields": {"scientific_name": "Melospiza georgiana", "bird_class": 84, "common_name": "Swamp Sparrow", "code": 1}, "pk": 892, "model": "birds.bird"}, {"fields": {"scientific_name": "Zonotrichia albicollis", "bird_class": 84, "common_name": "White-throated Sparrow", "code": 1}, "pk": 893, "model": "birds.bird"}, {"fields": {"scientific_name": "Zonotrichia querula", "bird_class": 84, "common_name": "Harris's Sparrow", "code": 1}, "pk": 894, "model": "birds.bird"}, {"fields": {"scientific_name": "Zonotrichia leucophrys", "bird_class": 84, "common_name": "White-crowned Sparrow", "code": 1}, "pk": 895, "model": "birds.bird"}, {"fields": {"scientific_name": "Zonotrichia atricapilla", "bird_class": 84, "common_name": "Golden-crowned Sparrow", "code": 1}, "pk": 896, "model": "birds.bird"}, {"fields": {"scientific_name": "Junco hyemalis", "bird_class": 84, "common_name": "Dark-eyed Junco", "code": 1}, "pk": 897, "model": "birds.bird"}, {"fields": {"scientific_name": "Junco phaeonotus", "bird_class": 84, "common_name": "Yellow-eyed Junco", "code": 2}, "pk": 898, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza leucocephalos", "bird_class": 84, "common_name": "Pine Bunting", "code": 5}, "pk": 899, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza chrysophrys", "bird_class": 84, "common_name": "Yellow-browed Bunting", "code": 5}, "pk": 900, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza pusilla", "bird_class": 84, "common_name": "Little Bunting", "code": 4}, "pk": 901, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza rustica", "bird_class": 84, "common_name": "Rustic Bunting", "code": 3}, "pk": 902, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza elegans", "bird_class": 84, "common_name": "Yellow-throated Bunting", "code": 5}, "pk": 903, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza aureola", "bird_class": 84, "common_name": "Yellow-breasted Bunting", "code": 5}, "pk": 904, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza variabilis", "bird_class": 84, "common_name": "Gray Bunting", "code": 5}, "pk": 905, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza pallasi", "bird_class": 84, "common_name": "Pallas's Bunting", "code": 5}, "pk": 906, "model": "birds.bird"}, {"fields": {"scientific_name": "Emberiza schoeniclus", "bird_class": 84, "common_name": "Reed Bunting", "code": 4}, "pk": 907, "model": "birds.bird"}, {"fields": {"scientific_name": "Piranga flava", "bird_class": 85, "common_name": "Hepatic Tanager", "code": 2}, "pk": 908, "model": "birds.bird"}, {"fields": {"scientific_name": "Piranga rubra", "bird_class": 85, "common_name": "Summer Tanager", "code": 1}, "pk": 909, "model": "birds.bird"}, {"fields": {"scientific_name": "Piranga olivacea", "bird_class": 85, "common_name": "Scarlet Tanager", "code": 1}, "pk": 910, "model": "birds.bird"}, {"fields": {"scientific_name": "Piranga ludoviciana", "bird_class": 85, "common_name": "Western Tanager", "code": 1}, "pk": 911, "model": "birds.bird"}, {"fields": {"scientific_name": "Piranga bidentata", "bird_class": 85, "common_name": "Flame-colored Tanager", "code": 3}, "pk": 912, "model": "birds.bird"}, {"fields": {"scientific_name": "Rhodothraupis celaeno", "bird_class": 85, "common_name": "Crimson-collared Grosbeak", "code": 4}, "pk": 913, "model": "birds.bird"}, {"fields": {"scientific_name": "Cardinalis cardinalis", "bird_class": 85, "common_name": "Northern Cardinal", "code": 1}, "pk": 914, "model": "birds.bird"}, {"fields": {"scientific_name": "Cardinalis sinuatus", "bird_class": 85, "common_name": "Pyrrhuloxia", "code": 1}, "pk": 915, "model": "birds.bird"}, {"fields": {"scientific_name": "Pheucticus chrysopeplus", "bird_class": 85, "common_name": "Yellow Grosbeak", "code": 4}, "pk": 916, "model": "birds.bird"}, {"fields": {"scientific_name": "Pheucticus ludovicianus", "bird_class": 85, "common_name": "Rose-breasted Grosbeak", "code": 1}, "pk": 917, "model": "birds.bird"}, {"fields": {"scientific_name": "Pheucticus melanocephalus", "bird_class": 85, "common_name": "Black-headed Grosbeak", "code": 1}, "pk": 918, "model": "birds.bird"}, {"fields": {"scientific_name": "Cyanocompsa parellina", "bird_class": 85, "common_name": "Blue Bunting", "code": 4}, "pk": 919, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerina caerulea", "bird_class": 85, "common_name": "Blue Grosbeak", "code": 1}, "pk": 920, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerina amoena", "bird_class": 85, "common_name": "Lazuli Bunting", "code": 1}, "pk": 921, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerina cyanea", "bird_class": 85, "common_name": "Indigo Bunting", "code": 1}, "pk": 922, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerina versicolor", "bird_class": 85, "common_name": "Varied Bunting", "code": 2}, "pk": 923, "model": "birds.bird"}, {"fields": {"scientific_name": "Passerina ciris", "bird_class": 85, "common_name": "Painted Bunting", "code": 1}, "pk": 924, "model": "birds.bird"}, {"fields": {"scientific_name": "Spiza americana", "bird_class": 85, "common_name": "Dickcissel", "code": 1}, "pk": 925, "model": "birds.bird"}, {"fields": {"scientific_name": "Dolichonyx oryzivorus", "bird_class": 86, "common_name": "Bobolink", "code": 1}, "pk": 926, "model": "birds.bird"}, {"fields": {"scientific_name": "Agelaius phoeniceus", "bird_class": 86, "common_name": "Red-winged Blackbird", "code": 1}, "pk": 927, "model": "birds.bird"}, {"fields": {"scientific_name": "Agelaius tricolor", "bird_class": 86, "common_name": "Tricolored Blackbird", "code": 2}, "pk": 928, "model": "birds.bird"}, {"fields": {"scientific_name": "Agelaius humeralis", "bird_class": 86, "common_name": "Tawny-shouldered Blackbird", "code": 5}, "pk": 929, "model": "birds.bird"}, {"fields": {"scientific_name": "Sturnella magna", "bird_class": 86, "common_name": "Eastern Meadowlark", "code": 1}, "pk": 930, "model": "birds.bird"}, {"fields": {"scientific_name": "Sturnella neglecta", "bird_class": 86, "common_name": "Western Meadowlark", "code": 1}, "pk": 931, "model": "birds.bird"}, {"fields": {"scientific_name": "Xanthocephalus xanthocephalus", "bird_class": 86, "common_name": "Yellow-headed Blackbird", "code": 1}, "pk": 932, "model": "birds.bird"}, {"fields": {"scientific_name": "Euphagus carolinus", "bird_class": 86, "common_name": "Rusty Blackbird", "code": 1}, "pk": 933, "model": "birds.bird"}, {"fields": {"scientific_name": "Euphagus cyanocephalus", "bird_class": 86, "common_name": "Brewer's Blackbird", "code": 1}, "pk": 934, "model": "birds.bird"}, {"fields": {"scientific_name": "Quiscalus quiscula", "bird_class": 86, "common_name": "Common Grackle", "code": 1}, "pk": 935, "model": "birds.bird"}, {"fields": {"scientific_name": "Quiscalus major", "bird_class": 86, "common_name": "Boat-tailed Grackle", "code": 1}, "pk": 936, "model": "birds.bird"}, {"fields": {"scientific_name": "Quiscalus mexicanus", "bird_class": 86, "common_name": "Great-tailed Grackle", "code": 1}, "pk": 937, "model": "birds.bird"}, {"fields": {"scientific_name": "Molothrus bonariensis", "bird_class": 86, "common_name": "Shiny Cowbird", "code": 3}, "pk": 938, "model": "birds.bird"}, {"fields": {"scientific_name": "Molothrus aeneus", "bird_class": 86, "common_name": "Bronzed Cowbird", "code": 1}, "pk": 939, "model": "birds.bird"}, {"fields": {"scientific_name": "Molothrus ater", "bird_class": 86, "common_name": "Brown-headed Cowbird", "code": 1}, "pk": 940, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus wagleri", "bird_class": 86, "common_name": "Black-vented Oriole", "code": 5}, "pk": 941, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus spurius", "bird_class": 86, "common_name": "Orchard Oriole", "code": 1}, "pk": 942, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus cucullatus", "bird_class": 86, "common_name": "Hooded Oriole", "code": 1}, "pk": 943, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus pustulatus", "bird_class": 86, "common_name": "Streak-backed Oriole", "code": 4}, "pk": 944, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus bullockii", "bird_class": 86, "common_name": "Bullock's Oriole", "code": 1}, "pk": 945, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus pectoralis", "bird_class": 86, "common_name": "Spot-breasted Oriole", "code": 2}, "pk": 946, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus gularis", "bird_class": 86, "common_name": "Altamira Oriole", "code": 2}, "pk": 947, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus graduacauda", "bird_class": 86, "common_name": "Audubon's Oriole", "code": 2}, "pk": 948, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus galbula", "bird_class": 86, "common_name": "Baltimore Oriole", "code": 1}, "pk": 949, "model": "birds.bird"}, {"fields": {"scientific_name": "Icterus parisorum", "bird_class": 86, "common_name": "Scott's Oriole", "code": 1}, "pk": 950, "model": "birds.bird"}, {"fields": {"scientific_name": "Fringilla coelebs", "bird_class": 87, "common_name": "Common Chaffinch", "code": 4}, "pk": 951, "model": "birds.bird"}, {"fields": {"scientific_name": "Fringilla montifringilla", "bird_class": 87, "common_name": "Brambling", "code": 3}, "pk": 952, "model": "birds.bird"}, {"fields": {"scientific_name": "Leucosticte arctoa", "bird_class": 87, "common_name": "Asian Rosy-Finch", "code": 5}, "pk": 953, "model": "birds.bird"}, {"fields": {"scientific_name": "Leucosticte tephrocotis", "bird_class": 87, "common_name": "Gray-crowned Rosy-Finch", "code": 1}, "pk": 954, "model": "birds.bird"}, {"fields": {"scientific_name": "Leucosticte atrata", "bird_class": 87, "common_name": "Black Rosy-Finch", "code": 2}, "pk": 955, "model": "birds.bird"}, {"fields": {"scientific_name": "Leucosticte australis", "bird_class": 87, "common_name": "Brown-capped Rosy-Finch", "code": 2}, "pk": 956, "model": "birds.bird"}, {"fields": {"scientific_name": "Pinicola enucleator", "bird_class": 87, "common_name": "Pine Grosbeak", "code": 1}, "pk": 957, "model": "birds.bird"}, {"fields": {"scientific_name": "Pyrrhula pyrrhula", "bird_class": 87, "common_name": "Eurasian Bullfinch", "code": 4}, "pk": 958, "model": "birds.bird"}, {"fields": {"scientific_name": "Carpodacus erythrinus", "bird_class": 87, "common_name": "Common Rosefinch", "code": 4}, "pk": 959, "model": "birds.bird"}, {"fields": {"scientific_name": "Haemorhous purpureus", "bird_class": 87, "common_name": "Purple Finch", "code": 1}, "pk": 960, "model": "birds.bird"}, {"fields": {"scientific_name": "Haemorhous cassinii", "bird_class": 87, "common_name": "Cassin's Finch", "code": 1}, "pk": 961, "model": "birds.bird"}, {"fields": {"scientific_name": "Haemorhous mexicanus", "bird_class": 87, "common_name": "House Finch", "code": 1}, "pk": 962, "model": "birds.bird"}, {"fields": {"scientific_name": "Loxia curvirostra", "bird_class": 87, "common_name": "Red Crossbill", "code": 1}, "pk": 963, "model": "birds.bird"}, {"fields": {"scientific_name": "Loxia leucoptera", "bird_class": 87, "common_name": "White-winged Crossbill", "code": 2}, "pk": 964, "model": "birds.bird"}, {"fields": {"scientific_name": "Acanthis flammea", "bird_class": 87, "common_name": "Common Redpoll", "code": 1}, "pk": 965, "model": "birds.bird"}, {"fields": {"scientific_name": "Acanthis hornemanni", "bird_class": 87, "common_name": "Hoary Redpoll", "code": 2}, "pk": 966, "model": "birds.bird"}, {"fields": {"scientific_name": "Spinus spinus", "bird_class": 87, "common_name": "Eurasian Siskin", "code": 5}, "pk": 967, "model": "birds.bird"}, {"fields": {"scientific_name": "Spinus pinus", "bird_class": 87, "common_name": "Pine Siskin", "code": 1}, "pk": 968, "model": "birds.bird"}, {"fields": {"scientific_name": "Spinus psaltria", "bird_class": 87, "common_name": "Lesser Goldfinch", "code": 1}, "pk": 969, "model": "birds.bird"}, {"fields": {"scientific_name": "Spinus lawrencei", "bird_class": 87, "common_name": "Lawrence's Goldfinch", "code": 2}, "pk": 970, "model": "birds.bird"}, {"fields": {"scientific_name": "Spinus tristis", "bird_class": 87, "common_name": "American Goldfinch", "code": 1}, "pk": 971, "model": "birds.bird"}, {"fields": {"scientific_name": "Chloris sinica", "bird_class": 87, "common_name": "Oriental Greenfinch", "code": 4}, "pk": 972, "model": "birds.bird"}, {"fields": {"scientific_name": "Coccothraustes vespertinus", "bird_class": 87, "common_name": "Evening Grosbeak", "code": 1}, "pk": 973, "model": "birds.bird"}, {"fields": {"scientific_name": "Coccothraustes coccothraustes", "bird_class": 87, "common_name": "Hawfinch", "code": 4}, "pk": 974, "model": "birds.bird"}, {"fields": {"scientific_name": "Passer domesticus", "bird_class": 88, "common_name": "House Sparrow", "code": 1}, "pk": 975, "model": "birds.bird"}, {"fields": {"scientific_name": "Passer montanus", "bird_class": 88, "common_name": "Eurasian Tree Sparrow", "code": 2}, "pk": 976, "model": "birds.bird"}]
\ No newline at end of file diff --git a/app/unused_apps/birds/build.py b/app/unused_apps/birds/build.py new file mode 100644 index 0000000..565b675 --- /dev/null +++ b/app/unused_apps/birds/build.py @@ -0,0 +1,21 @@ +import os +from django.urls import reverse +from builder.base import BuildNew + + +class BuildBirds(BuildNew): + + def build(self): + self.build_detail_view() + self.build_list_view( + base_path=reverse("birds:list_redirect"), + paginate_by=24 + ) + print("building birds") + + def get_model_queryset(self): + return self.model.objects.all() + +def builder(): + j = BuildBirds("birds", "birdsighting") + j.build() diff --git a/app/unused_apps/birds/migrations/0001_initial.py b/app/unused_apps/birds/migrations/0001_initial.py new file mode 100644 index 0000000..b20387e --- /dev/null +++ b/app/unused_apps/birds/migrations/0001_initial.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2016-03-13 09:49 +from __future__ import unicode_literals + +import birds.models +from django.conf import settings +import django.contrib.gis.db.models.fields +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + #('locations', '__first__'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Bird', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('common_name', models.CharField(max_length=200)), + ('slug', models.SlugField()), + ('scientific_name', models.CharField(max_length=200)), + ('code', models.IntegerField(choices=[(1, 'regular occurring - common'), (2, 'regular occurring - less common'), (3, 'rare'), (4, 'casual'), (5, 'accidental'), (6, 'Cannot be found')], default=0)), + ('image', models.FileField(blank=True, null=True, upload_to=birds.models.get_upload_path)), + ], + options={ + 'ordering': ['common_name'], + }, + ), + migrations.CreateModel( + name='BirdAudio', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('audio', models.FileField(upload_to='audio/birds/')), + ('recorder', models.CharField(blank=True, max_length=200, null=True)), + ('pub_date', models.DateTimeField()), + ('location', models.CharField(blank=True, max_length=200, null=True)), + ('link', models.CharField(blank=True, max_length=450, null=True)), + ('copyright', models.CharField(blank=True, max_length=250, null=True)), + ('bird', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='recordings', to='birds.Bird')), + ], + options={ + 'ordering': ['bird'], + 'verbose_name_plural': 'Bird Audio', + }, + ), + migrations.CreateModel( + name='BirdClass', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('common_name', models.CharField(max_length=200)), + ('scientific_name', models.CharField(max_length=200)), + ], + options={ + 'ordering': ['common_name'], + 'verbose_name_plural': 'Bird Class', + }, + ), + migrations.CreateModel( + name='BirdSighting', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('point', django.contrib.gis.db.models.fields.PointField(srid=4326)), + ('date', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Date')), + ('image', models.FileField(blank=True, null=True, upload_to=birds.models.get_upload_path)), + ('bird', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='birds.Bird')), + ('location', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='locations.Location')), + ('seen_by', models.ManyToManyField(to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Bird Sighting', + }, + ), + migrations.AddField( + model_name='bird', + name='bird_class', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='birds.BirdClass'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0002_auto_20160313_0953.py b/app/unused_apps/birds/migrations/0002_auto_20160313_0953.py new file mode 100644 index 0000000..a2085ea --- /dev/null +++ b/app/unused_apps/birds/migrations/0002_auto_20160313_0953.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2016-03-13 09:53 +from __future__ import unicode_literals + +import birds.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='bird', + name='image_credit', + field=models.CharField(blank=True, max_length=200, null=True), + ), + migrations.AlterField( + model_name='bird', + name='image', + field=models.FileField(blank=True, help_text='width of high res is 1360px', null=True, upload_to=birds.models.get_upload_path), + ), + ] diff --git a/app/unused_apps/birds/migrations/0003_birdsighting_images.py b/app/unused_apps/birds/migrations/0003_birdsighting_images.py new file mode 100644 index 0000000..d20e8b7 --- /dev/null +++ b/app/unused_apps/birds/migrations/0003_birdsighting_images.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2016-03-20 08:02 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('photos', '0007_auto_20160320_0802'), + ('birds', '0002_auto_20160313_0953'), + ] + + operations = [ + migrations.AddField( + model_name='birdsighting', + name='images', + field=models.ManyToManyField(to='photos.LuxImage'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0004_auto_20160321_1123.py b/app/unused_apps/birds/migrations/0004_auto_20160321_1123.py new file mode 100644 index 0000000..7672a18 --- /dev/null +++ b/app/unused_apps/birds/migrations/0004_auto_20160321_1123.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2016-03-21 11:23 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0003_birdsighting_images'), + ] + + operations = [ + migrations.RemoveField( + model_name='birdsighting', + name='image', + ), + migrations.AddField( + model_name='birdsighting', + name='audio', + field=models.ManyToManyField(to='birds.BirdAudio'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0005_auto_20170714_2222.py b/app/unused_apps/birds/migrations/0005_auto_20170714_2222.py new file mode 100644 index 0000000..8bdfb4b --- /dev/null +++ b/app/unused_apps/birds/migrations/0005_auto_20170714_2222.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-07-14 22:22 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0004_auto_20160321_1123'), + ] + + operations = [ + migrations.AlterField( + model_name='birdsighting', + name='audio', + field=models.ManyToManyField(blank=True, null=True, to='birds.BirdAudio'), + ), + migrations.AlterField( + model_name='birdsighting', + name='images', + field=models.ManyToManyField(blank=True, null=True, to='photos.LuxImage'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0006_auto_20170714_2224.py b/app/unused_apps/birds/migrations/0006_auto_20170714_2224.py new file mode 100644 index 0000000..bd4db82 --- /dev/null +++ b/app/unused_apps/birds/migrations/0006_auto_20170714_2224.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-07-14 22:24 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0005_auto_20170714_2222'), + ] + + operations = [ + migrations.AlterField( + model_name='birdsighting', + name='audio', + field=models.ManyToManyField(blank=True, to='birds.BirdAudio'), + ), + migrations.AlterField( + model_name='birdsighting', + name='images', + field=models.ManyToManyField(blank=True, to='photos.LuxImage'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0007_auto_20170821_1415.py b/app/unused_apps/birds/migrations/0007_auto_20170821_1415.py new file mode 100644 index 0000000..a51776c --- /dev/null +++ b/app/unused_apps/birds/migrations/0007_auto_20170821_1415.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-08-21 14:15 +from __future__ import unicode_literals + +import django.contrib.gis.db.models.fields +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('photos', '0018_auto_20161130_1218'), + ('birds', '0006_auto_20170714_2224'), + ] + + operations = [ + migrations.AlterModelOptions( + name='birdsighting', + options={'get_latest_by': 'date', 'verbose_name_plural': 'Bird Sighting'}, + ), + migrations.RemoveField( + model_name='birdsighting', + name='images', + ), + migrations.AddField( + model_name='birdsighting', + name='image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='photos.LuxImage'), + ), + migrations.AlterField( + model_name='birdsighting', + name='point', + field=django.contrib.gis.db.models.fields.PointField(blank=True, srid=4326), + ), + ] diff --git a/app/unused_apps/birds/migrations/0008_auto_20170821_1418.py b/app/unused_apps/birds/migrations/0008_auto_20170821_1418.py new file mode 100644 index 0000000..e5c80a4 --- /dev/null +++ b/app/unused_apps/birds/migrations/0008_auto_20170821_1418.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-08-21 14:18 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0007_auto_20170821_1415'), + ] + + operations = [ + migrations.RenameField( + model_name='birdsighting', + old_name='image', + new_name='images', + ), + ] diff --git a/app/unused_apps/birds/migrations/0009_auto_20170821_1429.py b/app/unused_apps/birds/migrations/0009_auto_20170821_1429.py new file mode 100644 index 0000000..840d7d3 --- /dev/null +++ b/app/unused_apps/birds/migrations/0009_auto_20170821_1429.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-08-21 14:29 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0008_auto_20170821_1418'), + ] + + operations = [ + migrations.RenameField( + model_name='birdsighting', + old_name='images', + new_name='image', + ), + ] diff --git a/app/unused_apps/birds/migrations/0010_auto_20170906_2100.py b/app/unused_apps/birds/migrations/0010_auto_20170906_2100.py new file mode 100644 index 0000000..aada189 --- /dev/null +++ b/app/unused_apps/birds/migrations/0010_auto_20170906_2100.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-09-06 21:00 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('photos', '0018_auto_20161130_1218'), + ('birds', '0009_auto_20170821_1429'), + ] + + operations = [ + migrations.RemoveField( + model_name='birdsighting', + name='image', + ), + migrations.AddField( + model_name='birdsighting', + name='images', + field=models.ManyToManyField(blank=True, to='photos.LuxImage'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0011_auto_20180126_1456.py b/app/unused_apps/birds/migrations/0011_auto_20180126_1456.py new file mode 100644 index 0000000..d63cf10 --- /dev/null +++ b/app/unused_apps/birds/migrations/0011_auto_20180126_1456.py @@ -0,0 +1,48 @@ +# Generated by Django 2.0.1 on 2018-01-26 14:56 + +import birds.models +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0010_auto_20170906_2100'), + ] + + operations = [ + migrations.CreateModel( + name='AP', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('common_name', models.CharField(max_length=200)), + ('slug', models.SlugField()), + ('scientific_name', models.CharField(max_length=200)), + ('code', models.IntegerField(choices=[(1, 'regular occurring - common'), (2, 'regular occurring - less common'), (3, 'rare'), (4, 'casual'), (5, 'accidental'), (6, 'Cannot be found')], default=0)), + ('image', models.FileField(blank=True, help_text='width of high res is 1360px', null=True, upload_to=birds.models.get_upload_path)), + ('image_credit', models.CharField(blank=True, max_length=200, null=True)), + ], + options={ + 'ordering': ['common_name'], + }, + ), + migrations.CreateModel( + name='APClass', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('common_name', models.CharField(max_length=200)), + ('scientific_name', models.CharField(max_length=200)), + ('kind', models.IntegerField(choices=[(1, 'Bird'), (2, 'Mammal'), (3, 'Reptile'), (4, 'Amphibian'), (5, 'Plant')], default=1)), + ], + options={ + 'verbose_name_plural': 'Animal/Plant Class', + 'ordering': ['kind', 'common_name'], + }, + ), + migrations.AddField( + model_name='ap', + name='apclass', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='birds.APClass'), + ), + ] diff --git a/app/unused_apps/birds/migrations/0012_auto_20180126_1739.py b/app/unused_apps/birds/migrations/0012_auto_20180126_1739.py new file mode 100644 index 0000000..307aa42 --- /dev/null +++ b/app/unused_apps/birds/migrations/0012_auto_20180126_1739.py @@ -0,0 +1,44 @@ +# Generated by Django 2.0.1 on 2018-01-26 17:39 + +from django.conf import settings +import django.contrib.gis.db.models.fields +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('locations', '0002_checkin'), + ('photos', '0018_auto_20161130_1218'), + ('contenttypes', '0002_remove_content_type_name'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('birds', '0011_auto_20180126_1456'), + ] + + operations = [ + migrations.CreateModel( + name='Sighting', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('object_id', models.PositiveIntegerField()), + ('point', django.contrib.gis.db.models.fields.PointField(blank=True, srid=4326)), + ('date', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Date')), + ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), + ('images', models.ManyToManyField(blank=True, to='photos.LuxImage')), + ('location', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='locations.Location')), + ('seen_by', models.ManyToManyField(to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.AlterField( + model_name='ap', + name='code', + field=models.IntegerField(choices=[(0, 'unknown'), (1, 'regular occurring - common'), (2, 'regular occurring - less common'), (3, 'rare'), (4, 'casual'), (5, 'accidental'), (6, 'Cannot be found')], default=0), + ), + migrations.AlterField( + model_name='bird', + name='code', + field=models.IntegerField(choices=[(0, 'unknown'), (1, 'regular occurring - common'), (2, 'regular occurring - less common'), (3, 'rare'), (4, 'casual'), (5, 'accidental'), (6, 'Cannot be found')], default=0), + ), + ] diff --git a/app/unused_apps/birds/migrations/0013_auto_20180126_2010.py b/app/unused_apps/birds/migrations/0013_auto_20180126_2010.py new file mode 100644 index 0000000..613597a --- /dev/null +++ b/app/unused_apps/birds/migrations/0013_auto_20180126_2010.py @@ -0,0 +1,28 @@ +# Generated by Django 2.0.1 on 2018-01-26 20:10 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0012_auto_20180126_1739'), + ] + + operations = [ + migrations.RemoveField( + model_name='sighting', + name='content_type', + ), + migrations.RemoveField( + model_name='sighting', + name='object_id', + ), + migrations.AddField( + model_name='sighting', + name='ap', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='birds.AP'), + preserve_default=False, + ), + ] diff --git a/app/unused_apps/birds/migrations/0014_auto_20180128_0902.py b/app/unused_apps/birds/migrations/0014_auto_20180128_0902.py new file mode 100644 index 0000000..97791ef --- /dev/null +++ b/app/unused_apps/birds/migrations/0014_auto_20180128_0902.py @@ -0,0 +1,21 @@ +# Generated by Django 2.0.1 on 2018-01-28 09:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('birds', '0013_auto_20180126_2010'), + ] + + operations = [ + migrations.AlterModelOptions( + name='ap', + options={'ordering': ['common_name'], 'verbose_name': 'Animal/Plant', 'verbose_name_plural': 'Animal/Plant'}, + ), + migrations.AlterModelOptions( + name='sighting', + options={'ordering': ['date']}, + ), + ] diff --git a/app/unused_apps/birds/migrations/__init__.py b/app/unused_apps/birds/migrations/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/app/unused_apps/birds/migrations/__init__.py diff --git a/app/unused_apps/birds/models.py b/app/unused_apps/birds/models.py new file mode 100644 index 0000000..5a14786 --- /dev/null +++ b/app/unused_apps/birds/models.py @@ -0,0 +1,295 @@ +import datetime +from django.urls import reverse +from django.template.defaultfilters import slugify +from django.contrib.gis.db import models +from django.contrib.auth.models import User +from django.utils import timezone +from locations.models import Location +from django import forms +from django.conf import settings + +from photos.models import LuxImage + + +def get_upload_path(self, filename): + return "images/bird-images/%s/%s" % (datetime.datetime.today().strftime("%Y"), filename) + + +# from http://aba.org/checklist/codes.html +ABA_CODES = ( + (0, 'unknown'), + (1, 'regular occurring - common'), + (2, 'regular occurring - less common'), + (3, 'rare'), + (4, 'casual'), + (5, 'accidental'), + (6, 'Cannot be found'), +) + +KIND_LIST = ( + (1, 'Bird'), + (2, 'Mammal'), + (3, 'Reptile'), + (4, 'Amphibian'), + (5, 'Plant'), +) + + +class APClass(models.Model): + common_name = models.CharField(max_length=200) + scientific_name = models.CharField(max_length=200) + kind = models.IntegerField(choices=KIND_LIST, default=1) + + class Meta: + verbose_name_plural = 'Animal/Plant Class' + ordering = ["kind", "common_name"] + + def __str__(self): + return self.common_name + +class AP(models.Model): + common_name = models.CharField(max_length=200) + slug = models.SlugField() + scientific_name = models.CharField(max_length=200) + code = models.IntegerField(choices=ABA_CODES, default=0) + apclass = models.ForeignKey(APClass, on_delete=models.CASCADE) + image = models.FileField(upload_to=get_upload_path, null=True, blank=True, help_text="width of high res is 1360px") + image_credit = models.CharField(max_length=200, blank=True, null=True) + + def __str__(self): + return self.common_name + + def get_image_url(self): + return "%s%s" % (settings.IMAGES_URL, self.image.url.split("media")[1][8:]) + + def get_absolute_url(self): + return reverse("sightings:detail", kwargs={"slug": self.slug}) + + def kind(self): + return self.apclass.kind + + class Meta: + verbose_name_plural = 'Animal/Plant' + verbose_name = 'Animal/Plant' + ordering = ["common_name", ] + + def save(self, *args, **kwargs): + self.slug = slugify(self.common_name[:50]) + super(AP, self).save(*args, **kwargs) + + +class Sighting(models.Model): + ap = models.ForeignKey(AP, on_delete=models.CASCADE) + point = models.PointField(blank=True) + location = models.ForeignKey(Location, on_delete=models.CASCADE, blank=True, related_name="location_old") + date = models.DateTimeField('Date', default=timezone.now) + seen_by = models.ManyToManyField(User, related_name="seenby_old") + images = models.ManyToManyField(LuxImage, blank=True, related_name="images_old") + #audio = models.ManyToManyField(BirdAudio, blank=True) + + class Meta: + ordering = ["-date", ] + + @property + def state(self): + return self.location.state + + @property + def country(self): + return self.location.state.country + + @property + def region(self): + return self.location.state.country.lux_region + + @property + def longitude(self): + '''Get the site's longitude.''' + return self.point.x + + @property + def latitude(self): + '''Get the site's latitude.''' + return self.point.y + + def get_small_image(self): + for img in self.images.all(): + for size in img.sizes.all(): + if size.width > 360 and size.width < 700: + return img.get_image_by_size(size) + + def get_absolute_url(self): + return reverse("birds:detail", kwargs={"slug": self.bird.slug}) + + def __str__(self): + return self.ap.common_name + + def save(self): + if not self.point: + self.point = Sighting.objects.latest().point + try: + self.location = Location.objects.filter( + geometry__contains=self.point + ).get() + except Location.DoesNotExist: + raise forms.ValidationError("There is no location associated with that point, add it: %sadmin/locations/location/add/" % (settings.BASE_URL)) + super(Sighting, self).save() + +""" +Migration from Birds to abstract: +birdclass = BirdClass.objects.all() +for b in birdclass: + APClass.objects.create( + common_name = b.common_name, + scientific_name = b.scientific_name, + kind = 1 + ) + +birds = Bird.objects.all() +for b in birds: + ap = APClass.objects.get(scientific_name=b.bird_class.scientific_name) + print(ap) + AP.objects.create( + common_name = b.common_name, + scientific_name = b.scientific_name, + code = b.code, + apclass = ap, + image = b.image, + image_credit = b.image_credit, + ) + print(t) + +birdsighting = BirdSighting.objects.all() +for bird in birdsighting: + ap = AP.objects.get(scientific_name=bird.bird.scientific_name) + s = Sighting.objects.create( + ap = ap, + point = bird.point, + location = bird.location, + date = bird.date, + ) + for t in bird.images.all(): + s.images.add(t) + for t in bird.seen_by.all(): + s.seen_by.add(t) +""" + + +class BirdClass(models.Model): + common_name = models.CharField(max_length=200) + scientific_name = models.CharField(max_length=200) + + class Meta: + verbose_name_plural = 'Bird Class' + ordering = ["common_name", ] + + def __str__(self): + return self.common_name + + +class Bird(models.Model): + common_name = models.CharField(max_length=200) + slug = models.SlugField() + scientific_name = models.CharField(max_length=200) + code = models.IntegerField(choices=ABA_CODES, default=0) + bird_class = models.ForeignKey(BirdClass, on_delete=models.CASCADE) + image = models.FileField(upload_to=get_upload_path, null=True, blank=True, help_text="width of high res is 1360px") + image_credit = models.CharField(max_length=200, blank=True, null=True) + + def __str__(self): + return self.common_name + + # function to resize large image to 680px wide and use as normal image + # the question is, should this happen here, or with some universale image + # model that can be attached to other models, loaded in entries and + # displayed in galleries. I suppose the answer is yes then isn't it? + # the problem is that I still can't see exactly what that looks like... + + def get_image_url(self): + return "%s%s" % (settings.IMAGES_URL, self.image.url.split("media")[1][8:]) + + def get_absolute_url(self): + return reverse("birds:detail", kwargs={"slug": self.slug}) + + class Meta: + ordering = ["common_name", ] + + def save(self): + self.slug = slugify(self.common_name[:50]) + super(Bird, self).save() + + +class BirdAudio(models.Model): + bird = models.ForeignKey(Bird, on_delete=models.CASCADE, related_name='recordings') + audio = models.FileField(upload_to='audio/birds/') + recorder = models.CharField(max_length=200, null=True, blank=True) + pub_date = models.DateTimeField() + location = models.CharField(max_length=200, null=True, blank=True) + link = models.CharField(max_length=450, null=True, blank=True) + copyright = models.CharField(max_length=250, null=True, blank=True) + + class Meta: + verbose_name_plural = 'Bird Audio' + ordering = ["bird", ] + + def __str__(self): + return self.bird.common_name + + +class BirdSighting(models.Model): + bird = models.ForeignKey(Bird, on_delete=models.CASCADE) + point = models.PointField(blank=True) + location = models.ForeignKey(Location, on_delete=models.CASCADE, blank=True) + date = models.DateTimeField('Date', default=timezone.now) + seen_by = models.ManyToManyField(User) + images = models.ManyToManyField(LuxImage, blank=True) + audio = models.ManyToManyField(BirdAudio, blank=True) + + class Meta: + verbose_name_plural = 'Bird Sighting' + get_latest_by = 'date' + + @property + def state(self): + return self.location.state + + @property + def country(self): + return self.location.state.country + + @property + def region(self): + return self.location.state.country.lux_region + + @property + def longitude(self): + '''Get the site's longitude.''' + return self.point.x + + @property + def latitude(self): + '''Get the site's latitude.''' + return self.point.y + + def get_small_image(self): + for img in self.images.all(): + for size in img.sizes.all(): + if size.width > 360 and size.width < 700: + return img.get_image_by_size(size) + + def get_absolute_url(self): + return reverse("birds:detail", kwargs={"slug": self.bird.slug}) + + def __str__(self): + return self.bird.common_name + + def save(self): + if not self.point: + self.point = BirdSighting.objects.latest().point + try: + self.location = Location.objects.filter( + geometry__contains=self.point + ).get() + except Location.DoesNotExist: + raise forms.ValidationError("There is no location associated with that point, add it: %sadmin/locations/location/add/" % (settings.BASE_URL)) + super(BirdSighting, self).save() diff --git a/app/unused_apps/birds/urls.py b/app/unused_apps/birds/urls.py new file mode 100644 index 0000000..8781433 --- /dev/null +++ b/app/unused_apps/birds/urls.py @@ -0,0 +1,34 @@ +from django.conf.urls import url +from django.views.generic.base import RedirectView +from . import views + +app_name = "birds" + +urlpatterns = [ + url( + r'(?P<user>[\w]+)/(?P<page>\d+)/', + views.BirdListUserView.as_view(), + name='list_by_person' + ), + url( + r'(?P<page>\d+)/$', + views.BirdListView.as_view(), + name="list" + ), + url( + r'^(?P<slug>[-_\w]+)$', + views.BirdDetailView.as_view(), + name='detail' + ), + # redirect /slug/ to /slug/1/ for live server + url( + r'(?P<user>[-\w]+)/$', + RedirectView.as_view(url="/birds/%(user)s/1/", permanent=False), + name="list_person_redirect" + ), + url( + r'', + RedirectView.as_view(url="/birds/1/", permanent=False), + name="list_redirect" + ), +] diff --git a/app/unused_apps/birds/views.py b/app/unused_apps/birds/views.py new file mode 100644 index 0000000..4d7f59e --- /dev/null +++ b/app/unused_apps/birds/views.py @@ -0,0 +1,49 @@ +from django.views.generic.detail import DetailView +from django.contrib.auth.models import User +from utils.views import PaginatedListView +from birds.models import Bird, BirdAudio, BirdSighting + + +class BirdListView(PaginatedListView): + template_name = 'archives/birds.html' + + def get_queryset(self): + return BirdSighting.objects.all() + + +class BirdListUserView(PaginatedListView): + template_name = 'archives/birds.html' + + def get_queryset(self): + return BirdSighting.objects.filter( + seen_by__username=self.kwargs['user'] + ) + + def get_context_data(self, **kwargs): + # Call the base implementation first to get a context + context = super(BirdListUserView, self).get_context_data(**kwargs) + context['user'] = User.objects.get(username=self.kwargs['user']) + return context + + +class BirdDetailView(DetailView): + model = Bird + template_name = "details/bird.html" + slug_field = "slug" + + def get_context_data(self, **kwargs): + # Call the base implementation first to get a context + context = super(BirdDetailView, self).get_context_data(**kwargs) + try: + context['recording'] = BirdAudio.objects.get( + bird__slug=self.kwargs['slug'] + ) + except BirdAudio.DoesNotExist: + pass + try: + context['sighting'] = BirdSighting.objects.get( + bird__slug=self.kwargs['slug'] + ) + except BirdSighting.DoesNotExist: + pass + return context |