Re: How to upload shapefiles and create models instance in GeoDjango

375 views
Skip to first unread message
Message has been deleted

Paolo Corti

unread,
Mar 22, 2013, 9:55:05 AM3/22/13
to geod...@googlegroups.com
On Fri, Mar 22, 2013 at 2:46 PM, Max Demars <burton...@gmail.com> wrote:
> Hi,
>
> I have a big interrogation about how it could be possible to have a
> GeoDjango app that can store in database the uploaded shapefiles or other
> geospatial files from users. When you load shapefiles in GeoDjango, you have
> to create a new model that matches the fields of the shapefile. How could it
> be possible to create a new model automatically each time a user uploads a
> files. You can't append the new model definition to your models.py each
> time? For me, that does not make any sense.
>
> Does it means the best way is to use a generic model definition and only
> allow files upload that match this definition,and the to create a new
> instance of this generic model? Can someone explain me what is the best
> practice to create an app that can store users uploaded spatial files?
>
> Max Demars
>

Hi
One option I would consider is using a NOSql database, such as MongoDB.
The point is to understand if this would match your use case.
Check formhub to get a sample of such an architecture
regards
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Michael Savarese

unread,
Mar 22, 2013, 10:27:47 AM3/22/13
to geod...@googlegroups.com
I'm pretty sure there's an example from the book Python Geospatial Development by Erik Westra (Packt Publishing). Be warned it's fairly extensive but I don't think you'll need all of it.

If it's not what you want, it's a great reference book to have around


--
You received this message because you are subscribed to the Google Groups "geodjango" group.
To unsubscribe from this group and stop receiving emails from it, send an email to geodjango+...@googlegroups.com.
To post to this group, send email to geod...@googlegroups.com.
Visit this group at http://groups.google.com/group/geodjango?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



Max Demars

unread,
Apr 11, 2013, 3:21:47 PM4/11/13
to geod...@googlegroups.com
Thank you Paolo Corti and geosav for your answers,

Past weeks I went through the Erik Westra books and found that is way to store spatial data in geodjango using generics models definition is not a good solution. In fact, uploads take a lot of time when there is a lot of features in the table and the you have
too many SQL variables django's errors when you try to manipulate it.

I have searched a lot on that topic on the web, but I have not found a good solution yet. Some people are suggesting to use non-rel django with mongoDB.

What I would like it is to upload shapefiles directly into PostGIS or Spatialite as a single talbe and be able to use geoqueryset and geodjango database API on those tables. Is it possible (maybe by using Django InspectDB to create models on the fly) or do I absolutely have to go to django non-rel and mongoDB? Django non-rel projet is abandonned and the last version is already outdated. For this reason, I am not really interested to go that way.

I would appreciate a lot all suggestions and comments.

Thank you!

Michael Savarese

unread,
Apr 11, 2013, 3:29:10 PM4/11/13
to geod...@googlegroups.com
As a quick alternative, you may want to look at QGIS and QGIS Server.  There are plugins to upload shapefiles into a local or remote postgresql/postgis database. By the way, I'd be wary of letting users, qualified or not, freely uploading data to your database. Could get bloated, redundant, and messy.


Max Demars

unread,
Apr 11, 2013, 4:31:50 PM4/11/13
to geod...@googlegroups.com
Hi Michael Savarese,

Thanks for your quick reply. However, my problem is not how to load data in postgis, its more about how to make django ORM have access on those tables. I want my geodjango app to allow users to upload their own spatial tables on postgis and allow them to do spatial queries using geodjango queryset and database API.


--
You received this message because you are subscribed to a topic in the Google Groups "geodjango" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to geodjango+...@googlegroups.com.

Guillaume Sueur

unread,
Apr 11, 2013, 5:34:36 PM4/11/13
to geod...@googlegroups.com
Hi Max,

I've done something similar a few years ago. It was working rather OK
with most shapefile, but was sometimes breaking on specific ones. As I
used mod_python at this time, it was difficult to see the new model
appear into the admin site without restarting apache. Maybe it can go
better with wsgi now. Didn't try.

The purpose was to use layers introspection to generate the model
description, and then write it in the models.py file... Not to be used
by too many people at once ;-)

If you are interested in it, I can send you pieces of code.

Best regards

Guillaume

Le 11/04/13 22:31, Max Demars a ᅵcrit :
> <mailto:geodjango%2Bunsu...@googlegroups.com>.
> To post to this group, send email to geod...@googlegroups.com
> <mailto:geod...@googlegroups.com>.
> Visit this group at http://groups.google.com/group/geodjango?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
> --
> You received this message because you are subscribed to a topic in
> the Google Groups "geodjango" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en.
> To unsubscribe from this group and all its topics, send an email to
> geodjango+...@googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>.
> To post to this group, send email to geod...@googlegroups.com
> <mailto:geod...@googlegroups.com>.

Max Demars

unread,
Apr 12, 2013, 8:49:49 AM4/12/13
to geod...@googlegroups.com
Hi Guillaume,

I would be really interested to have a look at such code. I am not sure, but you seem to be describing something that may be similar to the django inspectdb function that auto-generates models from a legacy db ( https://docs.djangoproject.com/en/dev/howto/legacy-databases/#auto-generate-the-models ). What happens if more than a user update the models.py in the same time? Is it possible to use queue like celery to do the update one at a time?

Thank you!

Maxime



On Thu, Apr 11, 2013 at 5:34 PM, Guillaume Sueur <no-r...@neogeo-online.net> wrote:
Hi Max,

I've done something similar a few years ago. It was working rather OK with most shapefile, but was sometimes breaking on specific ones. As I used mod_python at this time, it was difficult to see the new model appear into the admin site without restarting apache. Maybe it can go better with wsgi now. Didn't try.

The purpose was to use layers introspection to generate the model description, and then write it in the models.py file... Not to be used by too many people at once ;-)

If you are interested in it, I can send you pieces of code.

Best regards

Guillaume

Le 11/04/13 22:31, Max Demars a écrit :
        it, send an email to geodjango+unsubscribe@googlegroups.com
        <mailto:geodjango%2Bunsu...@googlegroups.com>.

        To post to this group, send email to geod...@googlegroups.com
        <mailto:geodjango@googlegroups.com>.

        Visit this group at http://groups.google.com/group/geodjango?hl=en.
        For more options, visit https://groups.google.com/groups/opt_out.



    --
    You received this message because you are subscribed to a topic in
    the Google Groups "geodjango" group.
    To unsubscribe from this topic, visit
    https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en.
    To unsubscribe from this group and all its topics, send an email to
    <mailto:geodjango%2Bunsu...@googlegroups.com>.

    To post to this group, send email to geod...@googlegroups.com

    Visit this group at http://groups.google.com/group/geodjango?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google
Groups "geodjango" group.
To unsubscribe from this group and stop receiving emails from it, send

To post to this group, send email to geod...@googlegroups.com.
Visit this group at http://groups.google.com/group/geodjango?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


--
You received this message because you are subscribed to a topic in the Google Groups "geodjango" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to geodjango+unsubscribe@googlegroups.com.

Guillaume Sueur

unread,
Apr 12, 2013, 8:57:53 AM4/12/13
to geod...@googlegroups.com
Hi Maxime,

Here are the two main files doing the job (geoloader creates the model,
geotools is just a set of useful functions). It doesn't rely on
inspectdb, but on ogr.

Don't hesitate to aks any question you wish.

Best regards

Guillaume

Le 12/04/13 14:49, Max Demars a ᅵcrit :
> Hi Guillaume,
>
> I would be really interested to have a look at such code. I am not sure,
> but you seem to be describing something that may be similar to the
> django inspectdb function that auto-generates models from a legacy db (
> https://docs.djangoproject.com/en/dev/howto/legacy-databases/#auto-generate-the-models
> ). What happens if more than a user update the models.py in the same
> time? Is it possible to use queue like celery to do the update one at a
> time?
>
> Thank you!
>
> Maxime
>
>
>
> On Thu, Apr 11, 2013 at 5:34 PM, Guillaume Sueur
> <no-r...@neogeo-online.net <mailto:no-r...@neogeo-online.net>> wrote:
>
> Hi Max,
>
> I've done something similar a few years ago. It was working rather
> OK with most shapefile, but was sometimes breaking on specific ones.
> As I used mod_python at this time, it was difficult to see the new
> model appear into the admin site without restarting apache. Maybe it
> can go better with wsgi now. Didn't try.
>
> The purpose was to use layers introspection to generate the model
> description, and then write it in the models.py file... Not to be
> used by too many people at once ;-)
>
> If you are interested in it, I can send you pieces of code.
>
> Best regards
>
> Guillaume
>
> Le 11/04/13 22:31, Max Demars a ᅵcrit :
>
> Hi Michael Savarese,
>
> Thanks for your quick reply. However, my problem is not how to
> load data
> in postgis, its more about how to make django ORM have access on
> those
> tables. I want my geodjango app to allow users to upload their own
> spatial tables on postgis and allow them to do spatial queries using
> geodjango queryset and database API.
>
>
> On Thu, Apr 11, 2013 at 3:29 PM, Michael Savarese
> <geoma...@gmail.com <mailto:geoma...@gmail.com>
> <mailto:geoma...@gmail.com <mailto:geoma...@gmail.com>>> wrote:
>
> As a quick alternative, you may want to look at QGIS and QGIS
> Server. There are plugins to upload shapefiles into a local or
> remote postgresql/postgis database. By the way, I'd be wary of
> letting users, qualified or not, freely uploading data to your
> database. Could get bloated, redundant, and messy.
>
>
> On Thu, Apr 11, 2013 at 3:21 PM, Max Demars
> <burton...@gmail.com <mailto:burton...@gmail.com>
> <mailto:burton...@gmail.com
> geodjango+unsubscribe@__googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>
> <mailto:geodjango%__2Buns...@googlegroups.com
> <mailto:geodjango%252Buns...@googlegroups.com>__>.
>
> To post to this group, send email to
> geod...@googlegroups.com <mailto:geod...@googlegroups.com>
> <mailto:geodjango@__googlegroups.com
> <mailto:geod...@googlegroups.com>>.
>
> Visit this group at
> http://groups.google.com/__group/geodjango?hl=en
> <http://groups.google.com/group/geodjango?hl=en>.
> For more options, visit
> https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>.
>
>
>
> --
> You received this message because you are subscribed to a
> topic in
> the Google Groups "geodjango" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en
> <https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en>.
> To unsubscribe from this group and all its topics, send an
> email to
> geodjango+unsubscribe@__googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>
> <mailto:geodjango%__2Buns...@googlegroups.com
> <mailto:geodjango%252Buns...@googlegroups.com>__>.
>
> To post to this group, send email to
> geod...@googlegroups.com <mailto:geod...@googlegroups.com>
> <mailto:geodjango@__googlegroups.com
> <mailto:geod...@googlegroups.com>>.
>
> Visit this group at
> http://groups.google.com/__group/geodjango?hl=en
> <http://groups.google.com/group/geodjango?hl=en>.
> For more options, visit
> https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>.
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "geodjango" group.
> To unsubscribe from this group and stop receiving emails from
> it, send
> an email to geodjango+unsubscribe@__googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>.
> To post to this group, send email to geod...@googlegroups.com
> <mailto:geod...@googlegroups.com>.
> Visit this group at
> http://groups.google.com/__group/geodjango?hl=en
> <http://groups.google.com/group/geodjango?hl=en>.
> For more options, visit
> https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>.
>
>
>
> --
> You received this message because you are subscribed to a topic in
> the Google Groups "geodjango" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en
> <https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en>.
> To unsubscribe from this group and all its topics, send an email to
> geodjango+unsubscribe@__googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>.
> To post to this group, send email to geod...@googlegroups.com
> <mailto:geod...@googlegroups.com>.
> Visit this group at http://groups.google.com/__group/geodjango?hl=en
> <http://groups.google.com/group/geodjango?hl=en>.
> For more options, visit https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>.
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "geodjango" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to geodjango+...@googlegroups.com.
geoloader.py
geotools.py

Max Demars

unread,
Apr 14, 2013, 10:31:02 PM4/14/13
to geod...@googlegroups.com
Guillaume,

I have been through your code rapidely. It seems it was a try to use runtime dynamic models and connect them to the admin interface. I wonder if you have give a try to application such django-mutant or django-dynamo. Im trying to understand how dynamic models is working and how to use them in a GIS app. I will start working on this demo that uses django-dynamo for a non-GIS app. Its the only real-life piece of codes I have found on the net. There is nearly no doc about this subject. I have seen that there would be a talk on that in Django Con 2013 in Warsaw. I hope I would be able to grab the video. Meanwhile, I would like to try your code but I'll need to know how it works and how to implement it.

I hope you can provide helps and tips about how to use your code. What are the requirements, and an example of a simple view using it.
Thank you,

Max Demars


On Fri, Apr 12, 2013 at 8:57 AM, Guillaume Sueur <no-r...@neogeo-online.net> wrote:
Hi Maxime,

Here are the two main files doing the job (geoloader creates the model, geotools is just a set of useful functions). It doesn't rely on inspectdb, but on ogr.

Don't hesitate to aks any question you wish.

Best regards

Guillaume

Le 12/04/13 14:49, Max Demars a écrit :
Hi Guillaume,

I would be really interested to have a look at such code. I am not sure,
but you seem to be describing something that may be similar to the
django inspectdb function that auto-generates models from a legacy db (
https://docs.djangoproject.com/en/dev/howto/legacy-databases/#auto-generate-the-models
). What happens if more than a user update the models.py in the same
time? Is it possible to use queue like celery to do the update one at a
time?

Thank you!

Maxime



On Thu, Apr 11, 2013 at 5:34 PM, Guillaume Sueur
<no-r...@neogeo-online.net <mailto:no-reply@neogeo-online.net>> wrote:

    Hi Max,

    I've done something similar a few years ago. It was working rather
    OK with most shapefile, but was sometimes breaking on specific ones.
    As I used mod_python at this time, it was difficult to see the new
    model appear into the admin site without restarting apache. Maybe it
    can go better with wsgi now. Didn't try.

    The purpose was to use layers introspection to generate the model
    description, and then write it in the models.py file... Not to be
    used by too many people at once ;-)

    If you are interested in it, I can send you pieces of code.

    Best regards

    Guillaume

    Le 11/04/13 22:31, Max Demars a écrit :
                 <mailto:geodjango%__2Bunsu...@googlegroups.com
        <mailto:geodjango%252Bunsubscribe@googlegroups.com>__>.


                 To post to this group, send email to
                 <mailto:geodjango@__googlegroups.com

        <mailto:geodjango@googlegroups.com>>.

                 Visit this group at
        http://groups.google.com/__group/geodjango?hl=en
        <http://groups.google.com/group/geodjango?hl=en>.
                 For more options, visit
        https://groups.google.com/__groups/opt_out
        <https://groups.google.com/groups/opt_out>.




             --
             You received this message because you are subscribed to a
        topic in
             the Google Groups "geodjango" group.
             To unsubscribe from this topic, visit
        https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en
        <https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en>.

             To unsubscribe from this group and all its topics, send an
        email to
        geodjango+unsubscribe@__googlegroups.com
        <mailto:geodjango%2Bunsu...@googlegroups.com>
             <mailto:geodjango%__2Bunsu...@googlegroups.com
        <mailto:geodjango%252Bunsubscribe@googlegroups.com>__>.


             To post to this group, send email to
             <mailto:geodjango@__googlegroups.com

        <mailto:geodjango@googlegroups.com>>.

             Visit this group at
        http://groups.google.com/__group/geodjango?hl=en
        <http://groups.google.com/group/geodjango?hl=en>.
             For more options, visit
        https://groups.google.com/__groups/opt_out
        <https://groups.google.com/groups/opt_out>.




        --
        You received this message because you are subscribed to the Google
        Groups "geodjango" group.
        To unsubscribe from this group and stop receiving emails from
        it, send
        an email to geodjango+unsubscribe@__googlegroups.com

        <mailto:geodjango%2Bunsu...@googlegroups.com>.
        To post to this group, send email to geod...@googlegroups.com
        <mailto:geodjango@googlegroups.com>.
        Visit this group at
        http://groups.google.com/__group/geodjango?hl=en
        <http://groups.google.com/group/geodjango?hl=en>.
        For more options, visit
        https://groups.google.com/__groups/opt_out
        <https://groups.google.com/groups/opt_out>.




    --
    You received this message because you are subscribed to a topic in
    the Google Groups "geodjango" group.
    To unsubscribe from this topic, visit
    https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en
    <https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en>.

    To unsubscribe from this group and all its topics, send an email to
    geodjango+unsubscribe@__googlegroups.com

    <mailto:geodjango%2Bunsu...@googlegroups.com>.
    To post to this group, send email to geod...@googlegroups.com




--
You received this message because you are subscribed to the Google
Groups "geodjango" group.
To unsubscribe from this group and stop receiving emails from it, send

To post to this group, send email to geod...@googlegroups.com.
Visit this group at http://groups.google.com/group/geodjango?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


--
You received this message because you are subscribed to a topic in the Google Groups "geodjango" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to geodjango+unsubscribe@googlegroups.com.

Guillaume Sueur

unread,
Apr 16, 2013, 2:37:30 AM4/16/13
to geod...@googlegroups.com
Hi,

Here is the models.py of the corresponding module. Basically, it has a
Fichier (means File) model, which is designed to retrieve zipped
shapefile, generate the geomodel and build a PostgisTable (metadata)
from it. Most of the job is called by the save() method of Fichier model.
I havent't played with these for four years, so they may be not as
modern as new modules which appeared since.

Best regards



Le 15/04/13 04:31, Max Demars a ᅵcrit :
> Le 12/04/13 14:49, Max Demars a ᅵcrit :
>
> Hi Guillaume,
>
> I would be really interested to have a look at such code. I am
> not sure,
> but you seem to be describing something that may be similar to the
> django inspectdb function that auto-generates models from a
> legacy db (
> https://docs.djangoproject.__com/en/dev/howto/legacy-__databases/#auto-generate-the-__models
> <https://docs.djangoproject.com/en/dev/howto/legacy-databases/#auto-generate-the-models>
> ). What happens if more than a user update the models.py in the same
> time? Is it possible to use queue like celery to do the update
> one at a
> time?
>
> Thank you!
>
> Maxime
>
>
>
> On Thu, Apr 11, 2013 at 5:34 PM, Guillaume Sueur
> <no-r...@neogeo-online.net <mailto:no-r...@neogeo-online.net>
> <mailto:no-reply@neogeo-__online.net
> <mailto:no-r...@neogeo-online.net>>> wrote:
>
> Hi Max,
>
> I've done something similar a few years ago. It was working
> rather
> OK with most shapefile, but was sometimes breaking on
> specific ones.
> As I used mod_python at this time, it was difficult to see
> the new
> model appear into the admin site without restarting apache.
> Maybe it
> can go better with wsgi now. Didn't try.
>
> The purpose was to use layers introspection to generate the
> model
> description, and then write it in the models.py file... Not
> to be
> used by too many people at once ;-)
>
> If you are interested in it, I can send you pieces of code.
>
> Best regards
>
> Guillaume
>
> Le 11/04/13 22:31, Max Demars a ᅵcrit :
>
> Hi Michael Savarese,
>
> Thanks for your quick reply. However, my problem is not
> how to
> load data
> in postgis, its more about how to make django ORM have
> access on
> those
> tables. I want my geodjango app to allow users to
> upload their own
> spatial tables on postgis and allow them to do spatial
> queries using
> geodjango queryset and database API.
>
>
> On Thu, Apr 11, 2013 at 3:29 PM, Michael Savarese
> <geoma...@gmail.com <mailto:geoma...@gmail.com>
> <mailto:geoma...@gmail.com <mailto:geoma...@gmail.com>>
> <mailto:geoma...@gmail.com
> <mailto:geoma...@gmail.com> <mailto:geoma...@gmail.com
> <mailto:geoma...@gmail.com>>>__> wrote:
>
> As a quick alternative, you may want to look at
> QGIS and QGIS
> Server. There are plugins to upload shapefiles
> into a local or
> remote postgresql/postgis database. By the way,
> I'd be wary of
> letting users, qualified or not, freely uploading
> data to your
> database. Could get bloated, redundant, and messy.
>
>
> On Thu, Apr 11, 2013 at 3:21 PM, Max Demars
> <burton...@gmail.com <mailto:burton...@gmail.com>
> <mailto:burton...@gmail.com <mailto:burton...@gmail.com>__>
> <mailto:burton...@gmail.com
> <mailto:burton...@gmail.com>
>
> <mailto:burton...@gmail.com
> geodjango+unsubscribe@__google__groups.com
> <http://googlegroups.com>
> <mailto:geodjango%____2Bun...@googlegroups.com
> <mailto:geodjango%25__2Bun...@googlegroups.com>
> <mailto:geodjango%__252Bunsubscribe@googlegroups.__com
> <mailto:geodjango%25252Bun...@googlegroups.com>>__>.
>
>
> To post to this group, send email to
> <mailto:geodjango@
> <mailto:geodjango@>__googlegrou__ps.com <http://googlegroups.com>
>
> <mailto:geodjango@__googlegroups.com
> <mailto:geod...@googlegroups.com>>>.
>
> Visit this group at
> http://groups.google.com/____group/geodjango?hl=en
> <http://groups.google.com/__group/geodjango?hl=en>
> https://groups.google.com/____groups/opt_out
> <https://groups.google.com/__groups/opt_out>
> <https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>>.
>
>
>
>
> --
> You received this message because you are
> subscribed to a
> topic in
> the Google Groups "geodjango" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/____topic/geodjango/JvOGQfdwHtY/____unsubscribe?hl=en
> <https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en>
> geodjango+unsubscribe@__google__groups.com
> <http://googlegroups.com>
> <mailto:geodjango%____2Bun...@googlegroups.com
> <mailto:geodjango%25__2Bun...@googlegroups.com>
> <mailto:geodjango%__252Bunsubscribe@googlegroups.__com
> <mailto:geodjango%25252Bun...@googlegroups.com>>__>.
>
>
> To post to this group, send email to
> <mailto:geodjango@
> <mailto:geodjango@>__googlegrou__ps.com <http://googlegroups.com>
>
> <mailto:geodjango@__googlegroups.com
> <mailto:geod...@googlegroups.com>>>.
>
> Visit this group at
> http://groups.google.com/____group/geodjango?hl=en
> <http://groups.google.com/__group/geodjango?hl=en>
> https://groups.google.com/____groups/opt_out
> <https://groups.google.com/__groups/opt_out>
> <https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>>.
>
>
>
>
> --
> You received this message because you are subscribed to
> the Google
> Groups "geodjango" group.
> To unsubscribe from this group and stop receiving
> emails from
> it, send
> an email to geodjango+unsubscribe@__google__groups.com
> <http://googlegroups.com>
>
> <mailto:geodjango%__2Buns...@googlegroups.com
> <mailto:geodjango%252Buns...@googlegroups.com>__>.
> To post to this group, send email to
> <mailto:geod...@googlegroups.com>>.
> Visit this group at
> http://groups.google.com/____group/geodjango?hl=en
> <http://groups.google.com/__group/geodjango?hl=en>
> https://groups.google.com/____groups/opt_out
> <https://groups.google.com/__groups/opt_out>
> <https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>>.
>
>
>
>
> --
> You received this message because you are subscribed to a
> topic in
> the Google Groups "geodjango" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/____topic/geodjango/JvOGQfdwHtY/____unsubscribe?hl=en
> <https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en>
> geodjango+unsubscribe@__google__groups.com
> <http://googlegroups.com>
>
> <mailto:geodjango%__2Buns...@googlegroups.com
> <mailto:geodjango%252Buns...@googlegroups.com>__>.
> To post to this group, send email to
> <mailto:geod...@googlegroups.com>>.
> Visit this group at
> http://groups.google.com/____group/geodjango?hl=en
> <http://groups.google.com/__group/geodjango?hl=en>
> https://groups.google.com/____groups/opt_out
> <https://groups.google.com/__groups/opt_out>
> <https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>>.
>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "geodjango" group.
> To unsubscribe from this group and stop receiving emails from
> it, send
> an email to geodjango+unsubscribe@__googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>.
> To post to this group, send email to geod...@googlegroups.com
> <mailto:geod...@googlegroups.com>.
> Visit this group at
> http://groups.google.com/__group/geodjango?hl=en
> <http://groups.google.com/group/geodjango?hl=en>.
> For more options, visit
> https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>.
>
>
>
> --
> You received this message because you are subscribed to a topic in
> the Google Groups "geodjango" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/__topic/geodjango/JvOGQfdwHtY/__unsubscribe?hl=en
> <https://groups.google.com/d/topic/geodjango/JvOGQfdwHtY/unsubscribe?hl=en>.
> To unsubscribe from this group and all its topics, send an email to
> geodjango+unsubscribe@__googlegroups.com
> <mailto:geodjango%2Bunsu...@googlegroups.com>.
> To post to this group, send email to geod...@googlegroups.com
> <mailto:geod...@googlegroups.com>.
> Visit this group at http://groups.google.com/__group/geodjango?hl=en
> <http://groups.google.com/group/geodjango?hl=en>.
> For more options, visit https://groups.google.com/__groups/opt_out
> <https://groups.google.com/groups/opt_out>.
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "geodjango" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to geodjango+...@googlegroups.com.
models.py
Reply all
Reply to author
Forward
0 new messages