J'ai ces deux modèles simples, A et B:Comment puis-je interroger un modèle par s'il existe une instance de sous-classe?
from django.db import models
class A(models.Model):
name = models.CharField(max_length=10)
class B(A):
age = models.IntegerField()
Maintenant, comment puis-je interroger pour toutes les instances de A qui ne disposent pas d'une instance de B? La seule façon que j'ai trouvé nécessite un champ explicitement unique sur chaque sous-classe, qui n'est pas NULL, de sorte que je puisse faire A.objects.filter (b__this_is_a_b = None), par exemple, pour obtenir des instances qui ne sont pas aussi B instances. Je cherche un moyen de le faire sans ajouter un drapeau idiot explicite comme ça.
Je ne souhaite pas non plus interroger tous les objets, puis les filtrer en Python. Je veux que la DB le fasse pour moi, ce qui est quelque chose comme SELECT * FROM A WHERE A.id in (SELECT id from B)
OÙ A.id * pas * dans (SELECT ...), je pense? – AdamKG