class Enventure(MPTTModel): name = models.CharField(max_length=50) parent = TreeForeignKey('self', blank=True, null=True, related_name='children') code = models.CharField(max_length=8, blank=True, null=True) location = LocationField(based_fields=['place'], zoom=7, default=Point(1.0, 1.0)) place = models.CharField(max_length=100, null=True, blank=True) phoneNumber = models.CharField(max_length=200, null=True, blank=True) email = models.EmailField(max_length=200, blank=True) age = models.IntegerField(default=0, blank=True, null=True) district = models.CharField(max_length=200, blank=True, null=True) is_active = models.NullBooleanField() dashboardAccess = models.NullBooleanField() account_type = models.CharField(max_length=200, blank=True, null=True) address = models.CharField(max_length=200, blank=True, null=True) gender = models.CharField(max_length=200, blank=True, null=True) created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) def accounts(self): #sorting? return self.account_objects.all() def get_account(self, name): return self.account_objects.get(name=name)
class WeaponDischarge(TimeStampsModel): trr = models.ForeignKey('trr.TRR', on_delete=models.CASCADE) weapon_type = models.CharField(max_length=32, null=True) weapon_type_description = models.CharField(max_length=32, null=True) firearm_make = models.CharField(max_length=64, null=True) firearm_model = models.CharField(max_length=32, null=True) firearm_barrel_length = models.CharField(max_length=16, null=True) firearm_caliber = models.CharField(max_length=16, null=True) total_number_of_shots = models.SmallIntegerField(null=True) firearm_reloaded = models.NullBooleanField() number_of_catdridge_reloaded = models.SmallIntegerField(null=True) handgun_worn_type = models.CharField(max_length=32, null=True, choices=HANDGUN_WORN_TYPE_CHOICES) handgun_drawn_type = models.CharField(max_length=32, null=True, choices=HANDGUN_DRAWN_TYPE_CHOICES) method_used_to_reload = models.CharField(max_length=64, null=True) sight_used = models.NullBooleanField() protective_cover_used = models.CharField(max_length=32, null=True) discharge_distance = models.CharField(max_length=16, null=True) object_struck_of_discharge = models.CharField( max_length=32, null=True, choices=OBJECT_STRUCK_OF_DISCHARGE_CHOICES) discharge_position = models.CharField(max_length=32, null=True, choices=DISCHARGE_POSITION_CHOICES)
class Species(models.Model): """ http://plants.usda.gov/java/AdvancedSearchServlet?pfa=na&statefips=us &statefips=usterr&statefips=CAN&grwhabt=Tree&dsp_symbol=on &dsp_vernacular=on&dsp_pfa=on&dsp_statefips=on&dsp_grwhabt=on &dsp_nativestatuscode=on&dsp_fed_nox_status_ind=on&dsp_state_nox_status=on &dsp_invasive_pubs=on&dsp_fed_te_status=on&dsp_state_te_status=on &dsp_nat_wet_ind=on&dsp_wet_region=on&dsp_fall_cspc_ind=on &dsp_fire_resist_ind=on&dsp_flwr_cspc_ind=on&dsp_bloom_prd_cd=on &dsp_frut_seed_abund_cd=on&dsp_frut_seed_start_cd=on&dsp_frut_seed_end_cd=on &dsp_frut_body_suit_ind=on&dsp_palat_human_ind=on&Synonyms=all&viewby=sciname """ symbol = models.CharField(max_length=255) alternate_symbol = models.CharField(max_length=255, null=True, blank=True) itree_code = models.CharField(max_length=255, null=True, blank=True) scientific_name = models.CharField(max_length=255) genus = models.CharField(max_length=255) species = models.CharField( max_length=255, null=True, blank=True) #sometimes we just have genus/cultivar combo cultivar_name = models.CharField(max_length=255, null=True, blank=True) gender = models.CharField(max_length=50, null=True, blank=True) common_name = models.CharField(max_length=255, null=True, blank=True) native_status = models.CharField(max_length=255, null=True, blank=True) bloom_period = models.CharField(max_length=255, null=True, blank=True) fruit_period = models.CharField(max_length=255, null=True, blank=True) fall_conspicuous = models.NullBooleanField() flower_conspicuous = models.NullBooleanField() palatable_human = models.NullBooleanField() wildlife_value = models.NullBooleanField() fact_sheet = models.URLField(max_length=255, null=True, blank=True) plant_guide = models.URLField(max_length=255, null=True, blank=True) tree_count = models.IntegerField(default=0, db_index=True) v_max_dbh = models.IntegerField(null=True, blank=True) v_max_height = models.IntegerField(null=True, blank=True) v_multiple_trunks = models.NullBooleanField() resource = models.ManyToManyField(Resource, null=True) objects = models.GeoManager() #tree_count should always be set on tree update.. def save(self, *args, **kwargs): self.tree_count = self.tree_set.filter(present=True).count() name = '%s' % self.genus if self.species and self.species != '': name += " %s" % self.species #if self.cultivar_name and self.cultivar_name != '': # name += " %s" % self.cultivar_name self.scientific_name = name super(Species, self).save(*args, **kwargs) def __unicode__(self): if self.cultivar_name: return "%s, '%s'" % (self.common_name, self.cultivar_name) else: return '%s' % (self.common_name)
class Vacancy311(models.Model): request_no = models.CharField('Request number', max_length=25) request_date = models.DateTimeField('Request date') bldg_loc = models.CharField('Building location', max_length=50) hazardous = models.CharField('Hazardous condition?', max_length=50) boarded = models.CharField('Boarded up?', max_length=50) entry_point = models.CharField('Entry point', max_length=300) occupied = models.CharField('Occupied?', max_length=300) fire = models.NullBooleanField('Vacant due to fire') in_use = models.NullBooleanField('In use?') houseno = models.CharField('House number', max_length=10) direction = models.CharField('Street direction', max_length=2) street = models.CharField('Street name', max_length=100) suffix = models.CharField('Street suffix', max_length=10) zipcode = models.IntegerField('ZIP code') loc = models.PointField(null=True, srid=3435) ward = models.IntegerField('Ward') policedistrict = models.IntegerField('Police district') ca_num = models.IntegerField('Community area number') latitude = models.FloatField('Latitude') longitude = models.FloatField('Longitude') objects = models.GeoManager() def __unicode__(self): return unicode(self.request_no) class Meta: app_label = 'landbank_data'
class Country(gismodels.Model): """ Spatial model for Country. """ REGIONAL_BUREAU_CHOICES = ( ('ODB', 'ODB'), ('ODC', 'ODC'), ('ODD', 'ODD'), ('ODJ', 'ODJ'), ('ODN', 'ODN'), ('ODP', 'ODP'), ('ODS', 'ODS'), ) # attributes name = gismodels.CharField(max_length=255) regional_bureaux = gismodels.CharField(null=True, blank=True, max_length=3, choices=REGIONAL_BUREAU_CHOICES) desk_study = gismodels.NullBooleanField() country_visit = gismodels.NullBooleanField() planned = gismodels.NullBooleanField() planning_date = gismodels.DateField(null=True, blank=True) geometry = gismodels.MultiPolygonField(srid=4326) objects = gismodels.GeoManager() def __unicode__(self): return '%s' % (self.name) class Meta: ordering = ['name'] verbose_name_plural = "Countries"
class Camera(models.Model): camera_id = models.PositiveIntegerField(unique=True) # id from old database # Geography: city = models.CharField(max_length=30, null=True, blank=True) state = models.CharField(max_length=12, null=True, blank=True) country = models.CharField(max_length=50, null=True, blank=True) lat = models.FloatField(max_length=100) lng = models.FloatField(max_length=100) lat_lng = models.GeometryField(geography=True, null=False, blank=True) # Sets geometry field points to geography in postgis # Source Information: source = models.CharField(max_length=100) source_url = models.URLField() # URL of the provider of the source (NOT for image data!) # Time Information: date_added = models.DateTimeField(auto_now_add=True) last_updated = models.DateTimeField(auto_now_add=True) # Last known time a snapshot was downloaded30 # Camera Types (Non_ip or IP) CAMERA_TYPES = enumerate(['Non_IP', 'IP']) camera_type = models.CharField(max_length=10, null=False, blank=True, choices=CAMERA_TYPES, default='Non_IP') # More Info: description = models.CharField(max_length=100, null=True, blank=True) # Description of the camera is_video = models.BooleanField(default=False) # True if camera is a video stream framerate = models.FloatField(null=True, blank=True) # Frame rate of the camera if known outdoors = models.NullBooleanField() # True if camera is outdoors Null if unknown. indoors = models.NullBooleanField() # True if the camera is indoors Null if unknown. traffic = models.NullBooleanField() # True if the camera is a traffic camera Null if unknown. inactive = models.NullBooleanField() # True if data cannot be accessed from the camera Null if unknown. resolution_w = models.PositiveIntegerField(null=True, blank=True) # Resolution width determined automatically resolution_h = models.PositiveIntegerField(null=True, blank=True) # Resolution height determined automatically # Image Retrieval objects: # For more information see https://docs.djangoproject.com/en/1.10/ref/contrib/contenttypes/#generic-relations content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=False, blank=True, related_name="retrieval_model") #ContentType table incudes Class<Non_IP> as well as Class<IP> object_id = models.PositiveIntegerField(null=True) #object_id will be automatically generated and represents the sepecfic primary key for each object in the queryset retrieval_model = GenericForeignKey('content_type', 'object_id')
class Users(models.Model): name = models.CharField(max_length=128) email = models.CharField(unique=True, max_length=128) hashedpassword = models.CharField(max_length=128, blank=True, null=True) salt = models.CharField(max_length=128, blank=True, null=True) readonly = models.BooleanField() administrator = models.BooleanField() map = models.CharField(max_length=128, blank=True, null=True) latitude = models.FloatField() longitude = models.FloatField() zoom = models.IntegerField() twelvehourformat = models.BooleanField() attributes = models.CharField(max_length=4000, blank=True, null=True) coordinateformat = models.CharField(max_length=128, blank=True, null=True) disabled = models.NullBooleanField() expirationtime = models.DateTimeField(blank=True, null=True) devicelimit = models.IntegerField(blank=True, null=True) token = models.CharField(max_length=128, blank=True, null=True) userlimit = models.IntegerField(blank=True, null=True) devicereadonly = models.NullBooleanField() phone = models.CharField(max_length=128, blank=True, null=True) limitcommands = models.NullBooleanField() login = models.CharField(max_length=128, blank=True, null=True) poilayer = models.CharField(max_length=512, blank=True, null=True) class Meta: managed = False db_table = 'users'
class GeoPolygon(models.Model): oid = models.IntegerField(blank=True, null=True) type = models.ForeignKey('TypePolygon', blank=True, null=True) name = models.CharField(max_length=1000, blank=True) area = models.DecimalField(max_digits=18, decimal_places=2, blank=True, null=True) perimetr = models.DecimalField(max_digits=18, decimal_places=2, blank=True, null=True) full_date = models.NullBooleanField() is_geom = models.NullBooleanField() geom = models.MultiPolygonField(srid=900913, blank=True, null=True) vydel = models.IntegerField(blank=True, null=True) kvartal = models.IntegerField(blank=True, null=True) center_zoom = models.SmallIntegerField(blank=True, null=True) center_lon = models.DecimalField(max_digits=18, decimal_places=7, blank=True, null=True) center_lat = models.DecimalField(max_digits=18, decimal_places=7, blank=True, null=True) kvartal_0 = models.ForeignKey( GeoKvartal, db_column='kvartal_id', blank=True, null=True) # Field renamed because of name conflict. fire_able = models.SmallIntegerField(blank=True, null=True) forestry = models.ForeignKey(Forestry, blank=True, null=True) firedanger = models.DecimalField(max_digits=16, decimal_places=5, blank=True, null=True) influence_probability = models.TextField( blank=True) # This field type is a guess. firerisk = models.DecimalField(max_digits=7, decimal_places=2, blank=True, null=True) wood_volume_per_ha = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) influence_probabiliti = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) class_damage = models.IntegerField(blank=True, null=True) class_risk = models.IntegerField(blank=True, null=True) class_risk1 = models.IntegerField(blank=True, null=True) class_risk2 = models.IntegerField(blank=True, null=True) objects = models.GeoManager() class Meta: managed = False db_table = 'geo_polygon'
class Review(models.Model): """ A (manual) review of a Lot that gives us more details than we got from the city's data. """ lot = models.ForeignKey(Lot) reviewer = models.ForeignKey(User, blank=True, null=True) added = models.DateTimeField(auto_now_add=True) in_use = models.BooleanField( blank=False, null=False, default=False, help_text="the lot is not fenced, is being used") actual_use = models.CharField(blank=True, null=True, max_length=128, help_text="eg, 'garden' or 'parking'") accessible = models.BooleanField( blank=False, null=False, default=True, help_text=( "there is access to the lot from the street or from an " "adjacent lot (or community garden) with access to the street")) needs_further_review = models.BooleanField( blank=False, null=False, default=False, help_text=("should be visited on foot or double-checked by someone " "else (please state why in notes)")) nearby_lots = models.TextField( blank=True, null=True, help_text=("BBLs of nearby/adjacent vacant lots that might be used in " "coordination with this lot")) hpd_plans = models.NullBooleanField( 'HPD plans', blank=True, null=True, help_text= "does HPD have open RFPs or other development plans for this lot?") hpd_plans_details = models.TextField( 'HPD plans details', blank=True, null=True, help_text="details about HPD's plans for this lot, if any") should_be_imported = models.NullBooleanField( blank=True, null=True, help_text="data should be added to the respective lot") imported = models.BooleanField( blank=False, null=False, default=False, help_text="data has been added to the respective lot")
class Survey(models.Model): choices_degree = ( (1, "newbie"), (2, "novice"), (3, "apprentice"), (4, "expert"), (5, "master") ) choices_user_type = ( (1, 'student'), (2, 'work as a developer'), (3, u'scientist / researcher'), (4, 'Other - (ex: geographer, lawyer ...)') ) choices_main_context = ( (1, "commercial"), (2, "academic / scientific research"), (3, "gov"), (4, "ngos"), (5, "help open source projects") ) choices_main_environment = ( (1, "web apps"), (2, "desktop apps"), (3, "scripts (server automation, small tools, plugins ...)")) choices_main_problem = ( (1, u"as a glue language (ex: exchange data between applications, services ...)"), (2, u"financial tools"), (3, u"gis tools"), (4, u"graphical tools"), (5, u"IT Infrastructure (ex.:server automation, small tools)"), (6, u"just have fun programming"), (7, u"network tools"), (8, u"plugin"), (9, u"research"), (10, u"testing software"), (11, u"web applications development - workflow process"), (12, u"web CMS"), (13, u"other"), ) user = models.ManyToManyField(User) date_add = models.DateTimeField(u"Answers Date", auto_now_add=True) when_start = models.DateField(u"when do you start using python", null=True, blank=True) work = models.NullBooleanField(u"do you uses python at your work ?", null=True, blank=True) first = models.NullBooleanField(u"is python your first language ? not you like most, but you use most.", null=True, blank=True) degree = models.IntegerField(u"how much python do you know ? ", choices=choices_degree) why = models.TextField(u"Why python", null=True, blank=True) user_type = models.IntegerField(choices=choices_user_type, null=True, blank=True) user_type_description = models.CharField(u"Description", max_length=50, null=True, blank=True) context = models.IntegerField(u"main environment", choices=choices_main_context, null=True, blank=True) environment = models.IntegerField(u"main environment", choices=choices_main_environment, null=True, blank=True) problem = models.IntegerField(u"main environment", choices=choices_main_problem, null=True, blank=True) problem_description = models.CharField(u"Description", max_length=50, null=True, blank=True) def __unicode__(self): return self.date def is_survey_owner(self, user): '''return true if user is the owner or if it has no owner. to implement per user object check ''' return (self.user == user) or not self.user
class Poi(gis_models.Model): """ Points of Interest in and around buildings """ short_name = gis_models.CharField(verbose_name=_("short name"), max_length=150, null=True, blank=True) long_name = gis_models.CharField(verbose_name=_("long name"), max_length=150, null=True, blank=True) description = gis_models.CharField(verbose_name=_("description"), max_length=255, null=True, blank=True) floor_num = gis_models.IntegerField(verbose_name=_("floor number"), null=True, blank=True) force_mid_point = gis_models.NullBooleanField( verbose_name=_("Force route to this location"), null=True, blank=True) enabled = gis_models.NullBooleanField( verbose_name=_("Activated and enabled"), null=True, blank=True) tree_order = gis_models.IntegerField( verbose_name=_("Tree order in legend"), null=True, blank=True) sort_order = gis_models.IntegerField( verbose_name=_("Sort oder of POI items"), null=True, blank=True) icon_css_name = gis_models.CharField(verbose_name=_("Icon CSS name"), max_length=255, null=True, blank=True) category_main = gis_models.ForeignKey(LtPoiCategoryMain, null=True, blank=True) category_sub = gis_models.ForeignKey(LtPoiCategorySub, null=True, blank=True) fk_access_type = gis_models.ForeignKey(LtAccessType, null=True, blank=True) fk_building_floor = gis_models.ForeignKey(BuildingFloor, null=True, blank=True) fk_building = gis_models.ForeignKey(Building, null=True, blank=True) geom = gis_models.MultiPointField(srid=3857, spatial_index=True, db_column='geom', null=True, blank=True) objects = gis_models.GeoManager() tags = TaggableManager() def __str__(self): return str(self.short_name) or ''
class Household(models.Model): """ Household model. """ hh_id = models.IntegerField(unique=True) geom = models.PointField(srid=4326) bgeom = models.PolygonField(srid=4326, null=True, blank=True) location = models.ForeignKey("Location", default=1, on_delete=models.CASCADE) rhc = models.ForeignKey( "Location", db_index=True, null=True, related_name="household_rhc_set", on_delete=models.CASCADE, ) district = models.ForeignKey( "Location", db_index=True, null=True, related_name="houshold_district_set", on_delete=models.CASCADE, ) data = JSONField(default=dict) visited = models.NullBooleanField(null=True) created_on = models.DateTimeField(auto_now_add=True) modified_on = models.DateTimeField(auto_now=True) sprayable = models.NullBooleanField(null=True) class Meta: app_label = "main" def __str__(self): return str(self.hh_id) @classmethod def by_osmid(cls, osmid): """Return a houshold object with the matching osmid for hh_id.""" try: return cls.objects.get(hh_id=osmid) except cls.DoesNotExist: return None def _set_parent_locations(self): if self.location: if self.rhc != self.location.parent: # pylint: disable=no-member self.rhc = self.location.parent # pylint: disable=no-member if self.district != self.rhc.parent: # pylint: disable=no-member self.district = self.rhc.parent # pylint: disable=no-member # pylint: disable=arguments-differ def save(self, *args, **kwargs): self._set_parent_locations() return super(Household, self).save(*args, **kwargs)
class VehicleType(models.Model): name = models.CharField(max_length=255, unique=True) double_decker = models.NullBooleanField() coach = models.NullBooleanField() class Meta(): ordering = ('name', ) def __str__(self): return self.name
class CommercieleVestiging(models.Model): """ Een classificatie van de Vestiging van de Onderneming. """ id = models.CharField(primary_key=True, max_length=20) totaal_werkzame_personen = models.IntegerField(blank=True, null=True) fulltime_werkzame_personen = models.IntegerField(blank=True, null=True) parttime_werkzame_personen = models.IntegerField(blank=True, null=True) import_activiteit = models.NullBooleanField() export_activiteit = models.NullBooleanField()
class OakCrime(models.Model): # non-NULL fields idx = models.AutoField(primary_key=True) opd_rd = models.CharField(max_length=10,db_index=True) oidx = models.IntegerField() cdateTime = models.DateTimeField(db_index=True) # list of all source_date in chron order, separated by + source = models.CharField(max_length=500) # NULL ok fields ctype = models.CharField(max_length=100,blank=True,null=True) desc = models.CharField(max_length=200,blank=True,null=True) # beat from OPD (vs. geobeat determined by geo query) beat = models.CharField(max_length=20,blank=True,null=True) addr = models.CharField(max_length=100,blank=True,null=True) xlng = models.FloatField(null=True) ylat = models.FloatField(null=True) # Defaults to SRID=4326 (aka WGS84) # units are in degrees of longitude and latitude point = models.PointField(null=True) ucr = models.CharField(max_length=5,blank=True,null=True) statute = models.CharField(max_length=50,blank=True,null=True) crimeCat = models.CharField(max_length=50,blank=True,null=True,db_index=True) lastModDateTime = models.DateTimeField(auto_now=True) # derived geo attributes zip = models.CharField(max_length=5,blank=True,null=True) # beat as determined by geo query (vs. beat from OPD) # 2do geobeat = models.CharField(max_length=3,blank=True,null=True) # full geoid = 06001423300, name=4233, tracttce=423300 # (CA-AlamedaCty-specific) longest census tract name < 10 char, eg "4062.01" ctractGeoID = models.CharField(max_length=11,blank=True,null=True) # Precincts_AlamedaCounty range from 200100-880600 precinct = models.IntegerField(blank=True,null=True) ## dailyLog fields dlogData = models.NullBooleanField(blank=True,null=True) # indicating data from dailyLog lossList = models.CharField(max_length=200,blank=True,null=True) # list of lost items gswP = models.NullBooleanField(blank=True,null=True) # gun shot wound weapon = models.CharField(max_length=50,blank=True,null=True) callout = models.CharField(max_length=50,blank=True,null=True) # 'yes:' + reg ncustody = models.IntegerField(blank=True,null=True) nsuspect = models.IntegerField(blank=True,null=True) nvictim = models.IntegerField(blank=True,null=True) nhospital = models.IntegerField(blank=True,null=True) roList = models.CharField(max_length=200,blank=True,null=True) pcList = models.CharField(max_length=200,blank=True,null=True) def __unicode__(self): return '%d:%s' % (self.idx,self.opd_rd)
class App(models.Model): def only_filename(instance, filename): return filename name = models.CharField(max_length=200, null=True, blank=True) title = models.CharField(max_length=200, null=True, blank=True) description = models.TextField(null=True, blank=True) short_description = models.TextField(null=True, blank=True) app_url = models.URLField(null=True, blank=True) author = models.CharField(max_length=200, null=True, blank=True) author_website = models.URLField(null=True, blank=True) license = models.CharField(max_length=200, null=True, blank=True) tags = models.ManyToManyField(AppTag, null=True, blank=True) date_installed = models.DateTimeField('Date Installed', auto_now_add=True) installed_by = models.ForeignKey(geonode_settings.AUTH_USER_MODEL, null=True, blank=True) single_instance = models.BooleanField(default=False, null=False, blank=False) order = models.SmallIntegerField(null=False, blank=False, default=0) owner_url = models.URLField(null=True, blank=True) help_url = models.URLField(null=True, blank=True) # app_logo = ImageField(upload_to=only_filename, help_text="The site will resize this master image as necessary for page display", blank=True, null = True) is_suspended = models.NullBooleanField(null=True, blank=True, default=False) app_img_url = models.TextField(max_length=1000) in_menu = models.NullBooleanField(null=True, blank=True, default=True) admin_only = models.NullBooleanField(null=True, blank=True, default=False) rating = models.IntegerField(default=0, null=True, blank=True) contact_name = models.CharField(max_length=200, null=True, blank=True) contact_email = models.EmailField(null=True, blank=True) def delete(self): delete_installed_app(self) super(type(self), self).delete() def __unicode__(self): return self.title @property def settings_url(self): try: return reverse("%s_settings" % self.name) except: return None @property def new_url(self): try: return reverse("%s.new" % self.name) except: return None
class UserProfile(models.Model): user = models.OneToOneField(User, ) ##自定义方法和属性 accepted_eula = models.NullBooleanField() favorite_animal = models.EmailField() habby = models.CharField(max_length=100, null=True) sex = models.NullBooleanField() avatar = models.FileField(upload_to='blogapp/static/img/', null=True) price = models.FloatField(help_text='there is a price', null=True, blank=True)
class CashFin(models.Model): pin = models.CharField('Property ID number', max_length=14, db_index=True) doc = models.CharField('Recorder of Deeds document number', null=True, max_length=16) date_doc = models.DateTimeField('Date documented', null=True) date_rec = models.DateTimeField('Date recorded', null=True) year = models.IntegerField('Year of transaction', null=True) amount_prime = models.FloatField('Transaction amount', null=True) likely_distressed = models.NullBooleanField('Property distressed?', null=True) likely_cash = models.NullBooleanField('Transaction cash-only?', null=True) buyer = models.CharField('Buyer name', null=True, max_length=100) buyer_type = models.CharField('Individual or business buyer?', null=True, max_length=100) seller = models.CharField('Seller name', null=True, max_length=100) seller_type = models.CharField('Individual or business seller?', null=True, max_length=100) apt = models.CharField('Apartment number', null=True, max_length=100) direction = models.CharField('Street direction', null=True, max_length=100) houseno = models.CharField('House number', null=True, max_length=100) street = models.CharField('Street name', null=True, max_length=100) suffix = models.CharField('Street suffix', null=True, max_length=100) addr_final = models.CharField('First line of address', null=True, max_length=100) city_final = models.CharField('City name', null=True, max_length=100) lat_y = models.FloatField('Latitude', null=True) long_x = models.FloatField('Longitude', null=True) tract_fix = models.FloatField('2000 census tract', null=True) no_tract_info = models.NullBooleanField('No geography information', null=True) ca_num = models.IntegerField('Community area number', null=True) ca_name = models.CharField('Community area', null=True, max_length=100) place = models.CharField('Cook County subdivision', null=True, max_length=100) gisdate = models.CharField('GIS file reference date', null=True, max_length=100) ptype = models.ForeignKey('PropertyTypes') residential = models.IntegerField('Residential?', null=True) loc = models.PointField(null=True, srid=3435) objects = models.GeoManager() def __unicode__(self): return unicode(self.pin) class Meta: app_label = 'landbank_data'
class ProductionData(BaseModel): time = models.DateTimeField() startlat = models.FloatField() startlong = models.FloatField() start_point = models.PointField() endlat = models.FloatField() endlong = models.FloatField() end_point = models.PointField() dry_spreader_active = models.NullBooleanField() plow_active = models.NullBooleanField() wet_spreader_active = models.NullBooleanField() brush_active = models.NullBooleanField() material_type_code = models.IntegerField(null=True) segment = models.ForeignKey(RoadSegment, on_delete=models.CASCADE)
class Measure(models.Model): # Some of these fields are documented in # https://github.com/ebmdatalab/openprescribing/wiki/Measure-definitions id = models.CharField(max_length=40, primary_key=True) name = models.CharField(max_length=500) title = models.CharField(max_length=500) description = models.TextField() why_it_matters = models.TextField(null=True, blank=True) tags = ArrayField(models.CharField(max_length=30), blank=True) tags_focus = ArrayField( models.CharField(max_length=30), null=True, blank=True, help_text=( "Indicates that this measure is an aggregate made up of " "all measures with the listed tags" ), ) include_in_alerts = models.BooleanField(default=True) url = models.URLField(null=True, blank=True) is_percentage = models.NullBooleanField() is_cost_based = models.NullBooleanField() low_is_good = models.NullBooleanField() analyse_url = models.CharField(max_length=5000, null=True) numerator_type = models.CharField(max_length=20) numerator_short = models.CharField(max_length=100) numerator_columns = models.TextField() numerator_from = models.TextField() numerator_where = models.TextField() numerator_is_list_of_bnf_codes = models.BooleanField(default=True) numerator_bnf_codes_filter = ArrayField(models.CharField(max_length=16), null=True) numerator_bnf_codes_query = models.CharField(max_length=10000, null=True) numerator_bnf_codes = ArrayField(models.CharField(max_length=15), null=True) denominator_type = models.CharField(max_length=20) denominator_short = models.CharField(max_length=100) denominator_columns = models.TextField() denominator_from = models.TextField() denominator_where = models.TextField() denominator_is_list_of_bnf_codes = models.BooleanField(default=True) denominator_bnf_codes_filter = ArrayField( models.CharField(max_length=16), null=True ) denominator_bnf_codes_query = models.CharField(max_length=10000, null=True) denominator_bnf_codes = ArrayField(models.CharField(max_length=15), null=True) def __str__(self): return self.name
class Auction(models.Model): pin = models.CharField('Property ID number', max_length=14, db_index=True) doc = models.CharField('Recorder of Deeds document number', null=True, max_length=16) date_doc = models.DateTimeField('Date documented', null=True) date_rec = models.DateTimeField('Date recorded', null=True) reo = models.NullBooleanField('Entering REO', null=True) buyer = models.CharField('Buyer name', max_length=100, null=True) buyer_type = models.CharField('Buyer type', max_length=100, null=True) seller = models.CharField('Seller name', max_length=100, null=True) seller_type = models.CharField('Seller type', max_length=100, null=True) yq_doc = models.IntegerField('Year and quarter of RoD document filing', null=True) yeard = models.IntegerField('???', null=True) apt = models.CharField('Apartment numer', max_length=10, null=True) direction = models.CharField('Street direction', max_length=2, null=True) houseno = models.CharField('House number', max_length=10, null=True) street = models.CharField('Street name', max_length=50, null=True) suffix = models.CharField('Street suffix', max_length=10, null=True) addr_final = models.CharField('First line of address', max_length=100, null=True) city_final = models.CharField('City name', max_length=100, null=True) lat_y = models.FloatField('Latitude', null=True) long_x = models.FloatField('Longitude', null=True) tract_fix = models.FloatField('2000 census tract', null=True) no_tract_info = models.NullBooleanField('No geography information', null=True) ca_num = models.IntegerField('Community area number', null=True) ca_name = models.CharField('Community area', max_length=100, null=True) place = models.CharField('Cook County subdivision', max_length=100, null=True) gisdate = models.CharField('GIS file reference date', max_length=100, null=True) ptype = models.ForeignKey('PropertyTypes') residential = models.IntegerField('Residential?', null=True) adj_yq = models.IntegerField('Adjusted quarter?', null=True) adj_yd = models.IntegerField('Adjusted day?', null=True) loc = models.PointField(null=True, srid=3435) objects = models.GeoManager() def __unicode__(self): return unicode(self.pin) class Meta: app_label = 'landbank_data'
class ArtworkVirgin(models.Model): artwork = models.ForeignKey(Artwork, verbose_name=_(u'artwork')) virgin = models.ForeignKey(Virgin, verbose_name=_(u'virgin')) episode = models.CharField(_(u'Episode'), max_length=200, blank=True, null=True) main_theme = models.NullBooleanField(_(u'Main theme'), max_length=200, blank=True, null=True) miraculous = models.NullBooleanField(_(u'Miraculous'), blank=True, null=True) ethnic = models.CharField(_(u'Ethnic'), max_length=200, blank=True, null=True) notes = models.TextField(_(u'Notes'), blank=True, null=True) def __unicode__(self): return _(u"%s in %s") % (self.virgin.name, self.artwork.title)
class Report(models.Model): """ This is the free report, it saves the message and the picture location in the system """ timeStamp = models.DateTimeField(null=False, blank=False, db_index=True) """ Specific date time when the server received a pose in the trajectory """ message = models.TextField() """ Text reported by the user """ imageName = models.CharField(max_length=100, default="no image", null=True) """ image name that was saved """ reportInfo = models.TextField() """ Additional information regarding the report. For example the user location.""" phoneId = models.UUIDField() """ To identify the AndroidRequests owner """ transformed = models.NullBooleanField(default=False, verbose_name=b'Transformed') """Indicates if the current row was transformed """ def getDictionary(self): """Returns a dictionary with the event information""" dictionary = dict() dictionary['message'] = self.message if self.imageName and self.imageName != "no image": dictionary['imageName'] = ("/media/reported_images/" + self.imageName) else: dictionary['imageName'] = "no image" stamp = timezone.localtime(self.timeStamp, pytz.timezone('Chile/Continental')) dictionary['timeStamp'] = stamp.strftime("%d-%m-%Y %H:%M:%S") return dictionary
class Show(models.Model): info = models.ForeignKey('schedule.Info', verbose_name=_("Info"), related_name='show') date = models.ForeignKey(DateRange, verbose_name=_("date"), related_name='show') thread = models.OneToOneField(Thread, verbose_name=_("messages"), related_name='show', null=True, blank=True) approved = models.NullBooleanField(_('approved'), default=None) visible = models.BooleanField(_('visible'), default=False) turnout = models.IntegerField(blank=True, null=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = models.GeoManager() class Meta: verbose_name = _('show') verbose_name_plural = _('shows') app_label = 'schedule' def get_absolute_url(self): return ('show', [self.id]) get_absolute_url = models.permalink(get_absolute_url)
class BaseAbuse(core_models.BaseModel): """ Base abuse model. """ comment = models.CharField( max_length=1024, blank=True, null=True, help_text=_('Abuse comment') ) sender = models.ForeignKey( get_user_model(), related_name='%(model_name)ss_sender', on_delete=models.CASCADE, help_text=_('Abuse sender') ) is_confirmed = models.NullBooleanField(help_text=_('Is abuse confirmed')) @cached_property def owner(self): return self.sender class Meta: abstract = True def short_comment(self): if self.comment: return truncatewords(self.comment, 6)
class Day(models.Model): """ Day of week and its active start and end time and whether it is open or closed Kirjastot.fi API uses closed for both days and periods, don't know which takes precedence """ DAYS_OF_WEEK = ((0, _('Monday')), (1, _('Tuesday')), (2, _('Wednesday')), (3, _('Thursday')), (4, _('Friday')), (5, _('Saturday')), (6, _('Sunday'))) period = models.ForeignKey(Period, verbose_name=_('Period'), db_index=True, related_name='days', on_delete=models.CASCADE) weekday = models.IntegerField(verbose_name=_('Weekday'), choices=DAYS_OF_WEEK) opens = models.TimeField(verbose_name=_('Time when opens'), null=True, blank=True) closes = models.TimeField(verbose_name=_('Time when closes'), null=True, blank=True) length = pgfields.IntegerRangeField( verbose_name=_('Range between opens and closes'), null=True, blank=True, db_index=True) # NOTE: If this is true and the period is false, what then? closed = models.NullBooleanField(verbose_name=_('Closed'), default=False) description = models.CharField(max_length=200, verbose_name=_('description'), null=True, blank=True) class Meta: verbose_name = _("day") verbose_name_plural = _("days") def __str__(self): # FIXME: output date in locale-specific format if self.opens and self.closes: hours = ", {0} - {1}".format(time_format(self.opens, "G:i"), time_format(self.closes, "G:i")) else: hours = "" return "{4}, {3}: {1:%d.%m.%Y} - {2:%d.%m.%Y}, {0}: {3} {5}".format( self.get_weekday_display(), self.period.start, self.period.end, STATE_BOOLS[self.closed], self.period.name, hours) def save(self, *args, **kwargs): if self.opens and self.closes: try: opens = int(self.opens.isoformat().replace(":", "")) closes = int(self.closes.isoformat().replace(":", "")) except AttributeError: opens = int(self.opens.replace(":", "")) closes = int(self.closes.replace(":", "")) self.length = NumericRange(opens, closes) return super(Day, self).save(*args, **kwargs)
class NRGTAnswerGS(models.Model): answer = models.ForeignKey(NRGTAnswer, on_delete=models.CASCADE) code = models.TextField(blank=True, null=True) survey_date = models.DateTimeField(blank=True, null=True) member = models.NullBooleanField() gender = models.TextField(blank=True, null=True) motivation = models.IntegerField(blank=True, null=True) instutional_framework = models.IntegerField(blank=True, null=True) fairness = models.IntegerField(blank=True, null=True) enact_decision = models.IntegerField(blank=True, null=True) knowledge_skills = models.IntegerField(blank=True, null=True) participation = models.IntegerField(blank=True, null=True) transparency = models.IntegerField(blank=True, null=True) resources = models.IntegerField(blank=True, null=True) diversity = models.IntegerField(blank=True, null=True) held_accountable = models.IntegerField(blank=True, null=True) accountability = models.IntegerField(blank=True, null=True) legitimacy = models.IntegerField(blank=True, null=True) last_update = models.DateTimeField(default=datetime.now, editable=False) class Meta: verbose_name = 'Answer Governance Score' verbose_name_plural = 'Answers Governance Score' def __str__(self): return "{} ({})".format(self.answer_id, self.code)
class MapSettings(models.Model): ImageryProvider = models.CharField(max_length=300, null=True, blank=True) Url = models.CharField(max_length=300, null=True, blank=True) BaseLayerPick = models.NullBooleanField() def __unicode__(self): return unicode(self.ImageryProvider)
class Presentation(models.Model): ''' GP prescribing products. Import from BNF codes file from BSA. ADQs imported from BSA data. ''' bnf_code = models.CharField(max_length=15, primary_key=True, validators=[isAlphaNumeric]) name = models.CharField(max_length=200) is_generic = models.NullBooleanField(default=None) active_quantity = models.FloatField(null=True, blank=True) adq = models.FloatField(null=True, blank=True) adq_unit = models.CharField(max_length=10, null=True, blank=True) percent_of_adq = models.FloatField(null=True, blank=True) def __str__(self): return '%s: %s' % (self.bnf_code, self.name) def save(self, *args, **kwargs): if len(self.bnf_code) > 10: code = self.bnf_code[9:11] is_generic = (code == 'AA') else: is_generic = None self.is_generic = is_generic super(Presentation, self).save(*args, **kwargs) class Meta: app_label = 'frontend'
class CallsignBlacklist(BaseModel): callsign = CallSignField(unique=True, db_index=True) reason = models.CharField(max_length=128, choices=BLACKLIST_REASONS, blank=True) submitter = models.CharField(max_length=128, blank=True) submitter_email = models.EmailField(max_length=128, blank=True) message = models.TextField(blank=True) approved = models.NullBooleanField(default=None) comment = models.TextField(blank=True) def __str__(self) -> str: return self.callsign @property def submitter_email_link(self) -> str: if self.submitter_email: return f"mailto:{self.submitter_email}" else: return "" @property def submitter_email_link_prefilled(self) -> str: if self.submitter_email: return f"{self.submitter_email_link}?subject={self.callsign}%20Blacklist%20Request&body=Hello%20{self.submitter},%0Athank%20your%20for%20your%20request,%20" else: return ""