Как я могу просмотреть таблицы базы данных в моем шаблоне django, используя «внешний ключ» - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь получить доступ к своей таблице базы данных в моем шаблоне django, но я не знаю правильный синтаксис для переключения из таблицы в другую, используя внешний ключ.Обратите внимание, что мое представление содержит одну модель, и я пытаюсь получить доступ к другим с помощью внешнего ключа.

Я пытался использовать "."переключиться с одного стола на другой, но это не работает.

Так как я могу получить доступ к таблицам местоположений, муниципалитетов, губернаторств и округов из-за несчастных случаев?(В шаблоне)

в моделях.py:


class Accidents(models.Model):
    id_acc = models.CharField(db_column='ID_Acc', primary_key=True, max_length=64)  # Field name made lowercase.
    id_loc = models.ForeignKey('Locations', db_column='ID_Loc')  # Field name made lowercase.
    date_acc = models.DateTimeField(db_column='Date_Acc')  # Field name made lowercase.


    simple_history = HistoricalRecords()

    def __unicode__(self):
        return '%s' % (self.id_acc)

    class Meta:
        db_table = 'accidents'


class District(models.Model):
    id_d = models.IntegerField(db_column='ID_D', primary_key=True)  # Field name made lowercase.
    id_gov = models.ForeignKey('Governorate', db_column='ID_Gov')  # Field name made lowercase.
    name_d = models.TextField(db_column='Name_D')  # Field name made lowercase.

    class Meta:
        db_table = 'district'

    def __str__(self):
        return self.name_d


class Governorate(models.Model):
    id_gov = models.IntegerField(db_column='ID_Gov', primary_key=True)  # Field name made lowercase.
    name_gov = models.TextField(db_column='Name_Gov')  # Field name made lowercase.

    class Meta:
        db_table = 'governorate'

    def __str__(self):
        return self.name_gov


class Locations(models.Model):
    id_loc = models.AutoField(db_column='ID_Loc', primary_key=True)  # Field name made lowercase.
    id_mun = models.ForeignKey('Municipality', db_column='ID_Mun' ,default='null')  # Field name made lowercase.
    lat_loc = models.FloatField(db_column='Lat_Loc')  # Field name made lowercase.
    lon_loc = models.FloatField(db_column='Lon_Loc')  # Field name made lowercase.
    name_loc = models.TextField(db_column='Name_Loc')  # Field name made lowercase.

    class Meta:
        db_table = 'locations'

    def __str__(self):
        return self.name_loc

    def __unicode__(self):
        return '%s' % (self.name_loc)


class Municipality(models.Model):
    id_m = models.IntegerField(db_column='ID_M', primary_key=True)  # Field name made lowercase.
    id_d = models.ForeignKey(District, db_column='ID_D', blank=True, null=True)  # Field name made lowercase.
    name_m = models.CharField(db_column='Name_M', max_length=75, blank=True, null=True)  # Field name made lowercase.

    objects = models.GeoManager()

    class Meta:
        db_table = 'municipality'


    #def __str__(self):
    #    return self.id_m

    def __unicode__(self):
        return '%s' % (self.name_m)


в представлениях

...