Esempio n. 1
0
class Insurance(models.Model):
    insurance_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)
    insurance_policy = models.CharField(max_length=50)
    email = models.EmailField(max_length=50, help_text='*****@*****.**')
    mobile = PhoneNumberField(null=True, blank=True)
    premium = models.CharField(max_length=50, help_text="Kshs.")
    compensation = models.CharField(max_length=50, help_text="Kshs.")
    country = models.CharField(max_length=50,
                               choices=country,
                               default=country[0][0])
    county = models.CharField(max_length=50,
                              choices=county,
                              default=county[0][0])
    town = models.CharField(max_length=50, null=True, help_text='Enkara')
    status = models.CharField(max_length=15,
                              null=False,
                              choices=incidence_status,
                              default=incidence_status[0][0])
    date_applied = models.DateTimeField(auto_now_add=True)
    geom = models.PointField(srid=4326)
    objects = models.GeoManager()

    def __unicode__(self):
        return self.insurance_policy

    @property
    def timeframe(self):
        return '%s - present' % date(self.date_applied, "n/j/Y")

    class Meta:
        verbose_name_plural = "Insurance"
        managed = True
Esempio n. 2
0
class Events(models.Model):
    """docstring for Events"""
    name = models.CharField(max_length=50, null=False)
    id = models.AutoField(primary_key=True)
    organizers = models.CharField(max_length=50, null=False)
    sponsors = models.CharField(max_length=50, null=False)
    #my_date = forms.DateField(initial=date.today(), widget=forms.DateInput(format = '%d.%m.%Y'), input_formats=('%d.%m.%Y',))
    date = models.DateField()
    location = models.CharField(max_length=50, null=False)
    venue = models.CharField(max_length=50, null=False)
    agenda = models.CharField(max_length=50, null=False)
    event_type = models.CharField(max_length=50, choices=event_type)
    description = models.TextField(max_length=250, null=False)
    closest_town = models.CharField(max_length=50, null=False)
    areaname = models.CharField(max_length=50, null=False)
    contacts = PhoneNumberField(blank=True)
    geom = models.PointField(srid=21037)
    objects = models.GeoManager()

    def __unicode__(self):
        return self.name

    class Meta:
        verbose_name_plural = "Events"
        managed = True
Esempio n. 3
0
class Health(models.Model):

    #field_office = models.ForeignKey("FieldOffice") # Is this really necessary if its already tied to allotment?
    allotment = models.ForeignKey("Allotment", null=True)
    allotment_name = models.CharField(max_length=255, null=True)
    allotment_unique = models.CharField(max_length=55, null=True)
    ### not using ... In Excel Files from BLM ... ###
    # auth_no = models.ForeignKey("Authorization") # Is this really necessary if its already tied to allotment?
    # land_health_eval_date = models.DateTimeField(null=True,blank=True) # Date of Most Recent Land Health Evaluation Report (mm/dd/yyyy)1
    # causal_factors_date = models.DateTimeField(null=True,blank=True) #Date of most recent Determination of Causal Factor(s) (mm/dd/yy
    # livestock_factor = models.NullBooleanField()
    # description = models.TextField(null=True)
    # cause_not_met = models.ForeignKey("Cause")
    # nepa_type = models.ForeignKey("NEPAType") #Type of NEPA Analysis for Grazing Authorization (EA, EIS, CX, D
    # nepa_date = models.DateTimeField(null=True,blank=True) #Date NEPA Analysis Completed (mm/dd/yyyy)5
    # nepa_identifier = models.CharField(max_length=55) #NEPA Identifier6
    # permit_status = models.CharField(max_length=55) #Permit or Lease Status
    # year_released = models.IntegerField(null=True) # 2012 or 2007 release from BLM to PEER/WWP?
    ### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ###

    lhs2007 = models.CharField(max_length=255, null=True)
    lhs2012 = models.CharField(max_length=255, null=True)
    lhs = models.CharField(max_length=255, null=True)

    ### In shapefiles from Lattin
    ecoregion1 = models.CharField(max_length=255, null=True)
    ecoregion2 = models.CharField(max_length=255, null=True)
    ecoregion3 = models.CharField(max_length=255, null=True)
    geom = models.MultiPolygonField(srid=4326,
                                    null=True)  # Adjust SRID accordingly
    objects = models.GeoManager()

    def __str__(self):
        return self.allotment_name
Esempio n. 4
0
class Market(models.Model):
    market_id = models.AutoField(primary_key=True)
    livestock_id = models.OneToOneField(Livestock, blank=True, null=True)
    market_name = models.CharField(max_length=50)
    livestock = models.EmailField(max_length=50, help_text='*****@*****.**')
    price_livestock = models.CharField(max_length=50, help_text="Kshs.")
    price_kg = models.CharField(max_length=50, help_text="Kshs.")
    premium = models.CharField(max_length=50, help_text="Kshs.")
    compensation = models.CharField(max_length=50, help_text="Kshs.")
    country = models.CharField(max_length=50, choices=country)
    county = models.CharField(max_length=50,
                              choices=county,
                              default=county[0][0])
    town = models.CharField(max_length=50, null=True, help_text='Enkara')
    status = models.CharField(max_length=15,
                              null=False,
                              choices=incidence_status,
                              default=incidence_status[0][0])
    date_applied = models.DateTimeField(auto_now_add=True)
    geom = models.PointField(srid=4326)
    objects = models.GeoManager()

    def __unicode__(self):
        return self.Market_policy

    @property
    def timeframe(self):
        return '%s - present' % date(self.date_applied, "n/j/Y")

    class Meta:
        verbose_name_plural = "Markets"
        managed = True
Esempio n. 5
0
class OGRGeom(models.Model):
    """adding attribute fields"""
    ogr_geom = models.GeometryField()
    objects = models.GeoManager()

    class Meta:
        abstract = True
Esempio n. 6
0
class UrbanizedSector(models.Model):
    '''
        represent a Polygon that contain all possible urbanized sectors.
    '''
    name = models.CharField(max_length=100, null=True, blank=True)
    description = models.CharField(max_length=1000, null=True, blank=True)
    polygon_representation = models.PolygonField(
        srid=4326,
        help_text='POLYGON((lon lat, lon lat, lon lat, lon lat, lon lat))')
    updated_at = models.DateTimeField(
        null=True,
        blank=True,
        default=timezone.now,
        verbose_name='urbanized_sector_updated_at')
    updated_by = models.ForeignKey(User,
                                   null=True,
                                   on_delete=models.SET_NULL,
                                   related_name='urbanized_sector_updated_by')
    created_at = models.DateTimeField(
        null=True,
        blank=True,
        default=timezone.now,
        verbose_name='urbanized_sector_created_at')
    created_by = models.ForeignKey(User,
                                   null=True,
                                   blank=True,
                                   on_delete=models.SET_NULL,
                                   related_name='urbanized_sector_created_by')
    objects = models.GeoManager()


# TO-DO agregar popularidad por cada propiedad. entity
Esempio n. 7
0
class SiteConfiguration(Named, Authored, Dated, Noted):
    """A model for storing the different site configurations that someone has
    made. It must have a site_layer that defines the separate sites.
        It can add other layers (these should maybe be ordered with
        django-sortedm2m )
        It has a radius and srs code.
        the srs attribute is defined so that it could be proj or WKT text or an
        EPSG code. It will be used to define the coordinate system for the
        built sites.
        This should maybe be immutable. If something is changed, it should make
        a new instance, so that we always can track down the settings used for
        a particular SiteSet.
    """
    site_layer = models.ForeignKey('DataLayer',
                                   related_name='siteconfiguration_site')
    other_layers = models.ManyToManyField(
        'DataLayer',
        related_name='siteconfiguration_other',
        null=True,
        blank=True)
    radius = models.IntegerField(default=1000)
    srs = models.CharField(max_length=500, null=True, blank=True)
    objects = models.GeoManager()

    def __unicode__(self):
        return "SiteConfiguration: %s" % self.name
Esempio n. 8
0
class ArtificialReef(models.Model):
    name = models.CharField(max_length=25)
    geometry = models.MultiPolygonField(srid=settings.GEOMETRY_DB_SRID,
                                        null=True,
                                        blank=True,
                                        verbose_name="Artificial Reef")
    objects = models.GeoManager()
Esempio n. 9
0
class WindEnergyArea(models.Model):
    state = models.CharField(max_length=50)
    geometry = models.MultiPolygonField(srid=settings.GEOMETRY_DB_SRID,
                                        null=True,
                                        blank=True,
                                        verbose_name="Wind Energy Area")
    objects = models.GeoManager()
Esempio n. 10
0
class administration(models.Model):
    id = models.AutoField(primary_key=True)
    kenya_field = models.FloatField()
    kenya_id = models.FloatField()
    number = models.IntegerField()
    province_b = models.CharField(max_length=12)
    class1 = models.IntegerField()
    district_b = models.CharField(max_length=12)
    class2 = models.IntegerField()
    division_b = models.CharField(max_length=22)
    class3 = models.IntegerField()
    location_b = models.CharField(max_length=24)
    class4 = models.IntegerField()
    subloc_b = models.CharField(max_length=22)
    males = models.IntegerField()
    females = models.IntegerField()
    total = models.IntegerField()
    househds = models.IntegerField()
    pop_km2 = models.FloatField()
    hh_km2 = models.FloatField()
    av_hhs = models.FloatField()
    arekm2 = models.FloatField()
    dis = models.IntegerField()
    areakmsq = models.FloatField(null=True)
    geom = models.MultiPolygonField(srid=4326)
    objects = models.GeoManager()

    def __unicode__(self):  # __unicode__ on Python 2
        return 'Type: %s' % self.location_b

    class Meta:
        verbose_name_plural = "Administration Sections"
        managed = True
Esempio n. 11
0
class info(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    store_code = models.CharField(max_length=100, blank=True, null=True)
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=150)
    phone = models.CharField(max_length=20, default="", blank=True, null=True)
    city = models.ForeignKey(city, null=True)
    address = models.CharField(max_length=100,
                               default="",
                               blank=True,
                               null=True)
    picture = models.ImageField(
        upload_to="shopkeepers",
        blank=True,
        null=True,
        default="/shopkeepers/tiendas-placeholder.png",
    )
    type_shop = models.ForeignKey(types)
    status_verify = models.ForeignKey(statu)
    rate = models.FloatField(default=0)
    poly = models.PolygonField(blank=True, null=True)
    objects = models.GeoManager()
    min_price = models.CharField(max_length=10, blank=True)
    average_deliveries = models.CharField(max_length=10, blank=True)
    stratum = models.CharField(max_length=1, blank=True)
    min_shipping_price = models.CharField(max_length=30, blank=True)
    cat_shop = models.CharField(max_length=100, blank=True)
    date_register = models.DateTimeField(auto_now_add=True)

    def __unicode__(self):
        return self.name

    class Meta:
        verbose_name = 'Vendedor'
        verbose_name_plural = 'Vendedores'
Esempio n. 12
0
class Boundary(SluggedModel):
    """
    A boundary object, such as a Ward or Neighborhood.
    """
    set = models.ForeignKey(
        BoundarySet,
        related_name='boundaries',
        help_text=
        'Category of boundaries that this boundary belongs, e.g. "Community Areas".'
    )
    kind = models.CharField(
        max_length=64,
        help_text=
        'A copy of BoundarySet\'s "singular" value for purposes of slugging and inspection.'
    )
    external_id = models.CharField(
        max_length=64,
        help_text=
        'The boundaries\' unique id in the source dataset, or a generated one.'
    )
    name = models.CharField(
        max_length=192,
        db_index=True,
        help_text='The name of this boundary, e.g. "Austin".')
    display_name = models.CharField(
        max_length=256,
        help_text=
        'The name and kind of the field to be used for display purposes.')
    metadata = JSONField(
        blank=True,
        help_text=
        'The complete contents of the attribute table for this boundary from the source shapefile, structured as json.'
    )
    shape = models.MultiPolygonField(
        srid=4269,
        help_text='The geometry of this boundary in EPSG:4269 projection.')
    simple_shape = models.MultiPolygonField(
        srid=4269,
        help_text=
        'The geometry of this boundary in EPSG:4269 projection and simplified to 0.0001 tolerance.'
    )
    centroid = models.PointField(
        srid=4269,
        null=True,
        help_text=
        'The centroid (weighted center) of this boundary in EPSG:4269 projection.'
    )

    objects = models.GeoManager()

    class Meta:
        ordering = ('kind', 'display_name')
        verbose_name_plural = 'boundaries'

    def __unicode__(self):
        """
        Print names are formatted like "Austin Community Area"
        and will slug like "austin-community-area".
        """
        return unicode(self.display_name)
Esempio n. 13
0
class FocoFIRMS(models.Model):
    #https://earthdata.nasa.gov/files/README_TXT.pdf

    dataregUTC = models.DateTimeField()
    posicao = models.PointField()
    bright = models.DecimalField(default=0, decimal_places=2, max_digits=16)
    scan = models.DecimalField(default=0, decimal_places=2, max_digits=16)
    track = models.DecimalField(default=0, decimal_places=4, max_digits=16)
    dataUTC = models.DateTimeField()
    satellite = models.CharField(max_length=1)
    confidence = models.DecimalField(default=0, decimal_places=2, max_digits=6)
    version = models.CharField(max_length=5)
    brightT31 = models.DecimalField(default=0, decimal_places=2, max_digits=16)
    frp = models.DecimalField(default=0, decimal_places=4, max_digits=16)
    objects = models.GeoManager()

    @property
    def geom(self):
        return self.posicao

    class Meta:
        ordering = [
            'dataUTC',
        ]

    def __unicode__(self):
        return u'{0}'.format(self.dataUTC)
Esempio n. 14
0
class Spatial_cluster_results(Common_EffortInstance_Info):

    #effort_instance = models.ForeignKey(EffortInstance, blank=True, null=True)
    effort_instance_id = models.IntegerField(primary_key=False)

    provider_name = models.CharField(max_length=500)

    nearby_points = models.IntegerField(primary_key=False,
                                        blank=True,
                                        null=True)
    point_checked = models.NullBooleanField(primary_key=False, blank=True)

    latitude = models.CharField(max_length=15, blank=True, null=True)
    longitude = models.CharField(max_length=15, blank=True, null=True)

    #overriding the default manager with a GeoManager instance.
    geom = models.PointField(dim=3, geography=True, blank=True, null=True)
    objects = models.GeoManager()

    def save(self):
        if self.latitude != None and len(self.latitude) > 0:
            lString = 'POINT(%s %s)' % (self.longitude.strip(),
                                        self.latitude.strip())
            self.point = fromstr(lString)
        super(Spatial_cluster_results, self).save()
Esempio n. 15
0
class FocoWFABBA(models.Model):
    dataUTC = models.DateTimeField()
    dataregUTC = models.DateTimeField()
    arquivo = models.CharField(max_length=100)
    posicao = models.PointField()
    Satzen = models.DecimalField(default=0, decimal_places=2, max_digits=16)
    PixSize = models.DecimalField(default=0, decimal_places=4, max_digits=16)
    T4 = models.DecimalField(default=0, decimal_places=2, max_digits=16)
    T11 = models.DecimalField(default=0, decimal_places=2, max_digits=16)
    FireSize = models.DecimalField(default=0, decimal_places=4, max_digits=16)
    Temp = models.IntegerField(default=0)
    FRP = models.IntegerField(default=0)
    Ecosystem = models.IntegerField(default=0)
    FireFlag = models.IntegerField(default=0)
    objects = models.GeoManager()

    @property
    def geom(self):
        return self.posicao

    class Meta:
        ordering = [
            'dataUTC',
        ]

    def __unicode__(self):
        return u'{0}'.format(self.dataUTC)
Esempio n. 16
0
class Pickup_Location(models.Model):
    pointer = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=100)
    longitude = models.DecimalField(max_digits=9, decimal_places=6)
    latitude = models.DecimalField(max_digits=9, decimal_places=6)
    geom = models.PointField(srid=4326)
    objects = models.GeoManager()

    def __str__(self):
        return str(self.name)

    def save_pickup(self):
        self.save()

    def delete_pickup(self):
        self.delete()

    @staticmethod
    def update_pickup_location(id, pointer, name, longitude, latitude, geom,
                               objects):

        Pickup_Location.objects.filter(pk=id).update(pointer=pointer,
                                                     name=name,
                                                     longitude=longitude,
                                                     latitude=latitude,
                                                     geom=geom,
                                                     objects=objects)
Esempio n. 17
0
class Location(models.Model):
    #latitude and longitude need to be changed to string types for GeoDjango
    latitude = models.CharField(max_length=15, blank=True, null=True)
    longitude = models.CharField(max_length=15, blank=True, null=True)

    #overriding the default manager with a GeoManager instance.
    #Changing geography to equal False, and dim(dimension to 2) This will use a geom type and be compatible with the admin polygons
    geom = models.PointField(dim=2, geography=False, blank=True, null=True)
    objects = models.GeoManager()

    def save(self, input_id):
        if self.latitude != None and len(self.latitude) > 0:
            lString = 'POINT(%s %s)' % (self.longitude.strip(),
                                        self.latitude.strip())
            self.geom = fromstr(lString)
        super(Location, self).save()

        if self.latitude != None and len(self.latitude) > 0:
            #whenever a location is saved, it creates a new tuple for the Location_w_efforts table, to keep the table up to date
            Location_w_effortsObj = Location_w_efforts()
            Location_w_effortsObj.provider_name = 'test1'
            Location_w_effortsObj.latitude = self.latitude
            Location_w_effortsObj.longitude = self.longitude
            Location_w_effortsObj.id = self.id
            Location_w_effortsObj.date_start = EffortInstance.objects.get(
                effort_instance_id=input_id).date_start
            Location_w_effortsObj.date_end = EffortInstance.objects.get(
                effort_instance_id=input_id).date_end
            provider_num = EffortInstance.objects.get(
                effort_instance_id=input_id).service_provider
            Location_w_effortsObj.service_provider = provider_num
            Location_w_effortsObj.provider_name = ServiceProvider.objects.get(
                service_provider_id=provider_num.service_provider_id
            ).provider_name
            Location_w_effortsObj.save()
Esempio n. 18
0
class AllLawyer(models.Model):
    name = models.CharField(max_length=250)
    icon = models.CharField(max_length=250)
    description = models.CharField(max_length=250)

    geom = models.PointField(srid=4326)
    objects = models.GeoManager()
Esempio n. 19
0
class Node(models.Model) :
    name=models.TextField()
    location = models.PointField(srid=4326)
    objects=models.GeoManager()

    def __unicode__(self):
        return self.name
Esempio n. 20
0
class SeaRise6m(models.Model):
    gridcode = models.IntegerField()
    geometry = models.MultiPolygonField(srid=settings.GEOMETRY_DB_SRID,
                                        null=True,
                                        blank=True,
                                        verbose_name="Sea Level Rise 6m")
    objects = models.GeoManager()
Esempio n. 21
0
class UrbanExtent(models.Model):
    gridcode = models.IntegerField()
    geometry = models.MultiPolygonField(srid=settings.GEOMETRY_DB_SRID,
                                        null=True,
                                        blank=True,
                                        verbose_name="Urban Extent Boundaries")
    objects = models.GeoManager()
Esempio n. 22
0
class Event(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50, null=False)
    organizers = models.CharField(max_length=50, null=False)
    sponsors = models.CharField(max_length=50, null=False)
    date = models.DateField()
    location = models.CharField(max_length=50, null=False)
    agenda = models.CharField(max_length=50, null=False)
    purpose = models.CharField(max_length=50, choices=event_type)
    description = models.TextField(max_length=250, null=False)
    nearest_town = models.CharField(max_length=60,
                                    null=True,
                                    blank=True,
                                    choices=Town,
                                    help_text='name of my nearest town')
    contacts = PhoneNumberField(blank=True,
                                null=True,
                                help_text="for enquiries call.")
    geom = models.PointField(srid=4326)
    objects = models.GeoManager()

    def __unicode__(self):
        return self.name

    class Meta:
        verbose_name_plural = "Event"
Esempio n. 23
0
class MapFeature(models.Model):
    source = models.ForeignKey('ShapeFile')
    geo_level = models.IntegerField(
        blank=True, null=True
    )  # this is mostly here for convienience it should really not be used here #TODO: make this a django foriegn key, i was just to lazy to work out the circular import thing
    label = models.CharField(max_length=255, blank=True)
    geo_key = models.CharField(
        max_length=255,
        blank=True,
        help_text=
        "A identifier that links this back to a Geo Record via the geoid Field",
        db_index=True)
    geo_meta = models.CharField(max_length=255,
                                blank=True,
                                help_text="Additional information")
    description = models.TextField(blank=True)

    objects = models.GeoManager()

    def save(self, *args, **kwargs):
        super(MapFeature, self).save(*args, **kwargs)
        if self.geo_level is None:
            l = self.source.get_geo_lev_id()
            if l is not None:
                self.geo_level = l
                self.save()

    class Meta:
        abstract = True

    def __unicode__(self):
        return self.label
Esempio n. 24
0
class Incidences(models.Model):
    name = models.CharField(max_length=20)
    location = models.PointField(srid=4326)
    objects = models.GeoManager()

    def __unicode__(self):
        return self.name
Esempio n. 25
0
class WindSpeed(models.Model):
    speed = models.FloatField()
    geometry = models.MultiPolygonField(srid=settings.GEOMETRY_DB_SRID,
                                        null=True,
                                        blank=True,
                                        verbose_name="Wind Speed 90m")
    objects = models.GeoManager()
Esempio n. 26
0
class Places(models.Model):

    title = models.CharField(max_length=100)
    latitude = models.FloatField(
        null=True,
        blank=True,
    )
    longitude = models.FloatField(
        null=True,
        blank=True,
    )
    location = models.PointField(null=True, srid=4326, default=Point(27, -38))
    objects = models.GeoManager()
    sound = ConstrainedFileField(max_upload_size=4194304)
    prefered_radius = models.IntegerField(default=5, help_text="in kilometers")
    rating = GenericRelation(Rating, related_query_name='foos')
    usersave = models.CharField(max_length=100)

    def __str__(self):
        return self.title

    def save(self, *args, **kwargs):
        if self.latitude and self.longitude:
            self.location = Point(self.longitude, self.latitude)

        super(Places, self).save(*args, **kwargs)

    def get_absolute_url(self):
        return reverse('posts:detail', kwargs={'id': self.id})
Esempio n. 27
0
class AreaOfInterest(models.Model):
    objects = models.GeoManager()

    name = models.CharField(max_length=150)
    severity = models.CharField(max_length=2,
                                choices=Incident.SEVERITY_CHOICES,
                                default=Incident.MEDIUM)
    polygon = models.PolygonField()

    @property
    def path_expression(self):
        return '|'.join('{y},{x}'.format(x=x, y=y) for x, y in self.polygon[0])

    @property
    def geojson_feature(self):
        return Feature(geometry=loads(self.polygon.geojson),
                       id='AreaOfInterest:{pk}'.format(pk=self.pk),
                       properties={
                           'name':
                           self.name,
                           'severity':
                           self.get_severity_display(),
                           'centroid':
                           self.polygon.centroid.geojson,
                           'model':
                           'AreaOfInterest',
                           'pk':
                           self.pk,
                           'url':
                           reverse('tracker:area-of-interest-detail',
                                   kwargs={'pk': self.pk}),
                       })
Esempio n. 28
0
class WorldMask(models.Model):
    dissme = models.IntegerField()
    geometry = models.MultiPolygonField(srid=settings.GEOMETRY_DB_SRID,
                                        null=True,
                                        blank=True,
                                        verbose_name="World Terrestrial Mask")
    objects = models.GeoManager()
Esempio n. 29
0
class prona(models.Model):
    id_vendodhje = models.ForeignKey(vendodhje,
                                     default='',
                                     on_delete=models.CASCADE)
    id_lloji = models.ForeignKey(lloji, default='', on_delete=models.CASCADE)
    cmimi = models.IntegerField()
    dhoma = models.IntegerField()
    banjo = models.IntegerField()
    size = models.IntegerField()
    titulli = models.CharField(max_length=250)
    pershkrim = models.CharField(max_length=1000)
    id_biznes = models.ForeignKey(biznes, default='', on_delete=models.CASCADE)
    status = models.IntegerField()
    geom = models.PointField()
    url = models.CharField(max_length=100)
    hits = models.IntegerField()
    id_user = models.ForeignKey(User, on_delete=models.CASCADE)
    creation_date = models.DateField(default=datetime.datetime.now)
    modif_date = models.DateField(default=datetime.datetime.now)
    sponsorizuar = models.IntegerField()
    objects = models.GeoManager()

    def get_absolute_url(self):
        return reverse('prona:prona_detail', kwargs={'pk': self.pk})

    def __str__(self):
        return self.titulli
Esempio n. 30
0
class Building(models.Model):

    # Utente creatore dell'edificio
    utente = models.ForeignKey(User)

    # in pratica toString()
    def __unicode__(self):
        return self.nome

# creazione del percorso per il salvataggio della foto di vetrina

    def content_file_name(instance, filename):

        return '/'.join([
            'buildings',
            str(instance.utente.pk),
            str(instance.pk), 'vetrina' + generate_extension(filename)
        ])

    # caratteristiche dell'edificio (PUNTO 1)
    nome = models.CharField(max_length=200, unique=True)
    descrizione = models.TextField(max_length=1000, blank=True)
    link = models.URLField(blank=True)

    foto = ImageField(upload_to=content_file_name, blank=True)

    # Geo Django (PUNTO 2):
    posizione = models.PointField(help_text="POINT(longitude latitude)",
                                  unique=True,
                                  srid=4326,
                                  null=True,
                                  blank=True)
    geometria = models.PolygonField(
        help_text="POLYGON((longitude latitude, ..))",
        srid=4326,
        null=True,
        blank=True,
        geography=True)

    # Necessario per le geoquery
    objects = models.GeoManager()

    # declinazione magnetica di base dell'edificio (rispetto al nord di google)
    base_bearing = models.DecimalField(max_digits=9,
                                       decimal_places=6,
                                       blank=True,
                                       null=True)

    # Dati sulla posizione (usati nella ricerca)
    nazione = models.CharField(max_length=30, blank=True)
    citta = models.CharField(max_length=30, blank=True)

    # dati interni dell'applicazione points
    versione = models.IntegerField()
    data_creazione = models.DateTimeField('data creazione')
    data_update = models.DateTimeField('data update')

    # indica che il building è pronto per la visualizzazione
    pronto = models.BooleanField()