This may be more of a general database design question, but I want to
come up with something that works with Django's ORM.
I have four bits of information that I want to link together. Generic
packages, package versions, groups of packages and a profile that
brings them together.
The final goal is a Profile that binds the Packages from a Group to
specific Versions.
I have a solution at the moment but it seems a bit clumsy for what
seems like something that would be commonly encountered.
4 models: Package, Version, Group and Profile. I've omitted the id
primary key column on the examples.
Package:
| name |
--
| django |
| python |
Version:
| package_id | version |
--
| 1 | 1.0 |
| 1 | 1.1 |
| 2 | 2.4 |
| 2 | 2.6 |
Group:
| name |
--
| django_stack |
group_packages:
| group_id | package_id |
--
| 1 | 1 |
| 1 | 2 |
Profile:
| name | group_id |
--
| django_prod | 1 |
| django_dev | 1 |
profile_packageversion:
| profile_id | version_id |
--
| 1 | 1 |
| 1 | 2 |
| 2 | 3 |
| 2 | 4 |
I can get what I need from a two step process, but is this the best or
most direct way to achieve this?
for package in profile.group.packages.all():
print package.name
for version in package.versions.all():
print version
Is there a nicer way to do this? Is there a different model structure
that I could use?
Jonathan
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.