J'ai trois tables User, Users_clients et Credits. Je souhaite répertorier les tables des clients de l'utilisateur actuel avec leurs détails et leur crédit. Si un client est listé dans la table de crédit, alors le crédit devrait retourner 0 là où il devrait retourner la valeur du crédit.Requête de recherche inversée django dans trois tables
mon model.py est
class User_clients(models.Model):
user = models.ForeignKey(User, related_name='myuser')
client = models.ForeignKey(User, related_name='myclient')
class Credits(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
credit = models.IntegerField(null=True, default=0)
mon views.py est
def clients(request):
try:
data = User_clients.objects.order_by('-id').filter(user_id=request.user.id)[0:10]
except User_clients.DoesNotExist:
data = None
return render(request, "client_list.html",{'title':"Client List",'clients':data,'active':'myclients','open':'clients'})
Merci beaucoup à l'avance!
Vous ne devriez pas utiliser 'User_clients', mais vous devez ajouter un champ à l'intérieur utilisateur:' = clients models.ManyToManyField ('User') ', alors, vous pourriez faire 'data = User.objects.get (id = request.user.id) .clients.all()' – Blusky