Modelling Countries and Cities
up vote
0
down vote
favorite
I'm currently learning Django, and I'm trying to model countries and cities. A country has many cities, out of which one (and only one) is a capital city. I've come up with this so far:
class Country(models.Model):
name = models.CharField(max_length=40)
class City(models.Model):
name = models.CharField(max_length=40)
country = models.ForeignKey('Country')
How can I incorporate the capital city part into the model? Thank you.
django django-models
add a comment |
up vote
0
down vote
favorite
I'm currently learning Django, and I'm trying to model countries and cities. A country has many cities, out of which one (and only one) is a capital city. I've come up with this so far:
class Country(models.Model):
name = models.CharField(max_length=40)
class City(models.Model):
name = models.CharField(max_length=40)
country = models.ForeignKey('Country')
How can I incorporate the capital city part into the model? Thank you.
django django-models
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm currently learning Django, and I'm trying to model countries and cities. A country has many cities, out of which one (and only one) is a capital city. I've come up with this so far:
class Country(models.Model):
name = models.CharField(max_length=40)
class City(models.Model):
name = models.CharField(max_length=40)
country = models.ForeignKey('Country')
How can I incorporate the capital city part into the model? Thank you.
django django-models
I'm currently learning Django, and I'm trying to model countries and cities. A country has many cities, out of which one (and only one) is a capital city. I've come up with this so far:
class Country(models.Model):
name = models.CharField(max_length=40)
class City(models.Model):
name = models.CharField(max_length=40)
country = models.ForeignKey('Country')
How can I incorporate the capital city part into the model? Thank you.
django django-models
django django-models
edited Nov 13 at 11:03
asked Nov 11 at 14:33
ascklee
32
32
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
You could to use a recursive model, example:
class Place(models.Model):
name = models.CharField(max_length=40)
place_parent = models.ForeignKey('self', blank=True, null=True)
is_capital = models.BooleanField(default=False)
To create countries, states, cities...
country = Place()
country.name = 'Ecuador'
country.save()
state = Place()
state.name = 'Pichincha'
state.place_parent_id = country.id
state.save()
city = Place()
city.name = 'Quito'
city.place_parent_id = state.id
city.is_capital = True
city.save()
city2 = Place()
city2.name = 'Other city'
city2.place_parent_id = state.id
city2.is_capital = False
city2.save()
Explanation: Ecuador has 24 states and each state has cities, the previous example mean say:
country state city
------------------------------
Ecuador / Pichincha / Quito
Ecuador / Pichincha / Other city
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
You could to use a recursive model, example:
class Place(models.Model):
name = models.CharField(max_length=40)
place_parent = models.ForeignKey('self', blank=True, null=True)
is_capital = models.BooleanField(default=False)
To create countries, states, cities...
country = Place()
country.name = 'Ecuador'
country.save()
state = Place()
state.name = 'Pichincha'
state.place_parent_id = country.id
state.save()
city = Place()
city.name = 'Quito'
city.place_parent_id = state.id
city.is_capital = True
city.save()
city2 = Place()
city2.name = 'Other city'
city2.place_parent_id = state.id
city2.is_capital = False
city2.save()
Explanation: Ecuador has 24 states and each state has cities, the previous example mean say:
country state city
------------------------------
Ecuador / Pichincha / Quito
Ecuador / Pichincha / Other city
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
add a comment |
up vote
0
down vote
You could to use a recursive model, example:
class Place(models.Model):
name = models.CharField(max_length=40)
place_parent = models.ForeignKey('self', blank=True, null=True)
is_capital = models.BooleanField(default=False)
To create countries, states, cities...
country = Place()
country.name = 'Ecuador'
country.save()
state = Place()
state.name = 'Pichincha'
state.place_parent_id = country.id
state.save()
city = Place()
city.name = 'Quito'
city.place_parent_id = state.id
city.is_capital = True
city.save()
city2 = Place()
city2.name = 'Other city'
city2.place_parent_id = state.id
city2.is_capital = False
city2.save()
Explanation: Ecuador has 24 states and each state has cities, the previous example mean say:
country state city
------------------------------
Ecuador / Pichincha / Quito
Ecuador / Pichincha / Other city
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
add a comment |
up vote
0
down vote
up vote
0
down vote
You could to use a recursive model, example:
class Place(models.Model):
name = models.CharField(max_length=40)
place_parent = models.ForeignKey('self', blank=True, null=True)
is_capital = models.BooleanField(default=False)
To create countries, states, cities...
country = Place()
country.name = 'Ecuador'
country.save()
state = Place()
state.name = 'Pichincha'
state.place_parent_id = country.id
state.save()
city = Place()
city.name = 'Quito'
city.place_parent_id = state.id
city.is_capital = True
city.save()
city2 = Place()
city2.name = 'Other city'
city2.place_parent_id = state.id
city2.is_capital = False
city2.save()
Explanation: Ecuador has 24 states and each state has cities, the previous example mean say:
country state city
------------------------------
Ecuador / Pichincha / Quito
Ecuador / Pichincha / Other city
You could to use a recursive model, example:
class Place(models.Model):
name = models.CharField(max_length=40)
place_parent = models.ForeignKey('self', blank=True, null=True)
is_capital = models.BooleanField(default=False)
To create countries, states, cities...
country = Place()
country.name = 'Ecuador'
country.save()
state = Place()
state.name = 'Pichincha'
state.place_parent_id = country.id
state.save()
city = Place()
city.name = 'Quito'
city.place_parent_id = state.id
city.is_capital = True
city.save()
city2 = Place()
city2.name = 'Other city'
city2.place_parent_id = state.id
city2.is_capital = False
city2.save()
Explanation: Ecuador has 24 states and each state has cities, the previous example mean say:
country state city
------------------------------
Ecuador / Pichincha / Quito
Ecuador / Pichincha / Other city
edited Nov 13 at 17:23
answered Nov 13 at 16:10
Carlos Herrera
663
663
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
add a comment |
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
This solution and explanation is fantastic. Thank you very much for putting time into the question I posted.
– ascklee
Nov 13 at 17:01
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53249733%2fmodelling-countries-and-cities%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown