On Fri, Dec 5, 2008 at 3:38 AM, Margie <[EMAIL PROTECTED]> wrote:
>
> Am trying to get the hang of specifying my models, so bear with me ...
>
> Suppose that I want to reprsent states and the cities that are in
> them. I think I would have a model that looks like this:
>
> class State(models.Model):
> name = models.CharField('name', max_length=20)
>
> class City(models.Model):
> name = models.CharField('name', max_length=20)
> state = models.ForeignKey(State)
>
> Now, suppose that cities can have the same name, as long as they are
> in different states, and I want a way to check that when the user adds
> a city, that he/she doesn't add it twice for the same state. IE, the
> user has data for certain states and cities and wants to add only
> those for which there is data. The user will manually click on "add
> state", which will take them to a page where they input some state
> data and then can click a 'submit' button to save it. And also from
> that window they can click on an 'add city' button that will take them
> to a window where they can input data for a city and then submit
> that. If I want to make sure that the same city isn't added twice for
> the same state, do I simply do that check when the city data is
> "posted"? IE, if they try to add the same city twice, I just give an
> error saying it's already there?
>
Specify unique_together for name and state in your City model. See:
http://docs.djangoproject.com/en/dev/ref/models/options/#unique-together
> What if I want the user to be able to enter a whole bunch of cities at
> once, for example by entering them all in a table on a single page.
> What would be the appropriate way to represent that table?
>
Formsets or model formsets could be the way to go here:
http://docs.djangoproject.com/en/dev/topics/forms/formsets/
http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#id1
Karen
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---