On 12-06-27 6:57 AM, David Wagner wrote:
> I'm a self taught programmer who hasn't done much of anything for
> years so please forgive me if this question is naive. I have a hard
> time sometimes understanding some of the lingo used by trained
> programmers.
>
> With that said, I'm having trouble wrapping my brain around the
> ManyToMany and Many-To-One and OneToOne concepts. I'm trying to create
> a multi-select option for a user profile in which a user can have
> multiple attributes of a certain kind. Right now I'm just working on
> the model. This is what I have, is it right?
>
> # Different licenses for instructors to select from
> class Licenses(models.Model):
> nra = models.BooleanField()
> ccl = models.BooleanField()
I am not familiar with the licenses you are referring to. But if "nra"
and "ccl" are each a kind of license rather than attributes for each
kind of license (google implies this involves gun licensing??!!) you
will want a separate record for each license type. Something like
class Licenses(models.Model):
name = models.CharField(_("Name"), max_length=20)
then populate the license table with an entry for each license type
"nra" and "ccl".
The "many to many" relationship you are modeling would have multiple
license entries for multiple users and this is done by having multiple
entries for each model rather than stacking multiple choices into a
single model.
> # User Profile Model
> class UserProfile(models.Model):
> user = models.OneToOneField(User)
>
> #.......
>
> licensed_instructor = models.ManyToManyField(Licenses)
You may want to name this field "licenses" rather than
"licensed_instructor" for convenience and by convention.
hth
- Tom
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment