Как получить доступ к значению внешнего ключа в таблице в django?
У меня есть 2 таблицы в базе данных на phpmyadmin, которые связаны внешним ключом. Таблица "bulle" содержит внешний ключ таблицы "site". На английском языке: один "сайт" может содержать несколько "bulle" (или нет) и "bulle" всегда связан с "сайтом".
class Bulles(models.Model):
id_bulle = models.AutoField(primary_key=True)
num_bulle = models.CharField(max_length=20)
type_bulle = models.CharField(max_length=20)
colories = models.CharField(max_length=20)
latitude = models.FloatField()
longitude = models.FloatField()
date_vidange = models.DateField(
db_column="date_vidange"
)
id_depot = models.ForeignKey(
"Depot", on_delete=models.CASCADE, db_column="id_depot"
)
id_site = models.ForeignKey(
"Site",related_name='bul', on_delete=models.CASCADE, db_column="Id_site"
)
class Meta:
db_table = "bulles"
class Site(models.Model):
id_site = models.AutoField(
db_column="Id_site", primary_key=True
)
nom = models.CharField(
db_column="Nom", max_length=100
)
vitesse_b = models.FloatField(db_column="Vitesse_b") # Field name made lowercase.
vitesse_c = models.FloatField(db_column="Vitesse_c") # Field name made lowercase.
ecart_type_b = models.FloatField(
db_column="Ecart_type_b"
)
ecart_type_c = models.FloatField(
db_column="Ecart_type_c"
)
type_site = models.CharField(
db_column="Type_site", max_length=20
)
longitude = models.FloatField(db_column="Longitude")
latitude = models.FloatField(db_column="Latitude")
Nombre_bulles = models.IntegerField(db_column="Nombre_bulles")
date_vidange = models.DateField(
db_column="Date_vidange")
class Meta:
db_table = "site"
Я создал запрос на удаление строки в "bulle", выбранной по id_bulle (первичный ключ). Я хотел бы получить "id_site" из этого выбранного bulle, который я удаляю в этом запросе. Затем мне нужно подсчитать все "bulle" таблицы, которые имеют этот id_site. После этого я хочу изменить значение столбца "Nombre_bulles" на найденное ранее число.
def DeleteBulle (request, id_bulle):
try:
id_bulle
param = Bulles.objects.get(pk=id_bulle)
param.delete()
print("Bulle supprimée")
except:
print("Cette bulle n'existe pas")
return redirect('api_bulles_frontend')
return redirect('api_bulles_frontend')
Я не знаю, как получить доступ к значению Id_site удаляемой "пули", выбранной по ее id.
Прошу прощения за мой английский, надеюсь, кто-нибудь здесь сможет мне помочь. Спасибо !
Я действительно не знаю, как я могу это сделать, я не могу найти это в Интернете.
param.id_site.somethingFromTheClass