class Beer(models.Model):
pass
class Salas(models.Model):
name = models.CharField(max_length=20)
beers = models.ManyToManyField('Beer', blank=True)
beer = Beer.objects.get(user=user)
id_sala = request.GET['id_sala']
sala = get_object_or_404(Salas, id=id_sala)
if beer.salas_set.filter(nombre=sala):
# if beer.objects.filter(sitios__id=beer).exists():
sala.beers.remove(beer)
else:
sala.beers.add(beer)
I want to see if there is relationship of beer with sala, how to make this??
I advise you to use:
if beer.salas_set.filter(pk=sala.pk).exists():
# do stuff
If you use sala in beer.salas_set.all()
instead, it selects all records from the relation table and loops over them to find, whether the given object is there or not. However, beer.salas_set.filter(pk=sala.pk).exists()
only selects zero or one row from the database and immediately gives the result (without looping).