Hi,

I'm new to Django, programming, web apps, the whole lot. I've been working 
on an app for a while now, but I'm having trouble figuring out how to 
organise my models in an effective way. Im using Django 1.10 and Python 2.7.

Here's a rough example of the structure I'm trying:

class Site(models.Model):
    #...
    def __unicode__(self):
        return self.name

class Image(models.Model):
    #...
    site = models.ForeignKey(Site, ...)
    def __unicode__(self):
        return self.name

class Location(models.Model):
    #...
    site = models.ForeignKey(Site, ...)
    def __unicode__(self):
        return self.name

class LocImage(models.Model):
    #...
    location = models.ForeignKey(Location, ...)
    def __unicode__(self):
        return self.name



The idea is to have a site (like a castle or other area the user might want 
to visit), and then each site will have various Images like aerial 
photographs associated with it. Each site will also have various locations 
around it with multiple images associated with that location.

So it works something like this:

Site

Images

Location

LocImages 



I've tried doing it this way, but I don't know how to get the admin page to 
show this, for one. I read a post that said that Django's admin page can't 
have nested related items like this, but I'm not sure if that's actually 
true. I was able to run migrations on this code when I removed the 
references to it in the admin page, but I don't know how to access the 
LocImages model in the API, like I can with the Location and Images models 
using something like 
"Site.objects.get(pk=2).location_set.get(id=2).locimage_set.all()".

So, is this how I should be structuring the models? And if it works in the 
database is there any way to get this to show on a single page in the 
Django admin?

The reason I decided to structure it this way is so each location can have 
multiple attributes that are all fields of the same model, making it easier 
to link them together in the templates.

Any help would be appreciated, thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/f901927b-712b-49d7-bf38-1eb746806658%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to