models.pyDjango - ayant plus d'un foreignkey dans le même modèle
class City(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=35)
countrycode = models.CharField(max_length=3)
district = models.CharField(max_length=200)
population = models.IntegerField(default='0')
class Country(models.Model):
code = models.CharField(primary_key=True, max_length=3)
name = models.CharField(max_length=52)
continent = models.CharField(max_length=50)
region = models.CharField(max_length=26)
surfacearea = models.FloatField()
indepyear = models.SmallIntegerField(blank=True, null=True)
population = models.IntegerField()
lifeexpectancy = models.FloatField(blank=True, null=True)
gnp = models.FloatField(blank=True, null=True)
gnpold = models.FloatField(blank=True, null=True)
localname = models.CharField(max_length=45)
governmentform = models.CharField(max_length=45)
headofstate = models.CharField(max_length=60, blank=True, null=True)
capital = models.IntegerField(blank=True, null=True)
code2 = models.CharField(max_length=2)
SQL Pour les modèles
City INSERT INTO city VALUES (3955,'Sunnyvale','USA','California',131760);
pour Pays INSERT INTO country VALUES ('BHS','Bahamas','North America','Caribbean',13878.00,1973,307000,71.1,3527.00,3347.00,'The Bahamas','Constitutional Monarchy','Elisabeth II',148,'BS');
Question 1 Dans les modèles mentionnés ci-dessus comment puis-je associer un code dans le Country.code
-City.countrycode
, je ne suis pas en mesure de le faire parce que le modèle de pays est déclaré après le modèle City.
Question 2 Et comment relier le Country.capital in
le modèle qui est un pays entier qui se rapporte à City.name
.
Remarque Je suis conversion d'un fichier .sql
avec InnoDB Engine Postgresql.
Je ne comprends pas, je reçois * city.countrycode_id n'existe pas * erreur –
avez-vous effectué des migrations? –
oui, je ne comprends pas comment la colonne 'id' est automatiquement ajoutée à la table. –