Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявка на Django, където едно поле е дублирано, а друго е различно

Можете да работите с подзаявка тук, но според мен това няма да има голямо значение по отношение на производителността:

from django.db.models import Exists, OuterRef, Q

UserNames.objects.filter(
    Exists(UserNames.objects.filter(
        ~Q(user_id=OuterRef('user_id')),
        first_name=OuterRef('first_name')
    ))
)

или преди :

from django.db.models import Exists, OuterRef, Q

UserNames.objects.annotate(
    has_other=Exists(UserNames.objects.filter(
        ~Q(user_id=OuterRef('user_id')),
        first_name=OuterRef('first_name')
    ))
).filter(has_other=True)

По този начин запазваме UserNames обекти, за които съществува UserNames обект със същото first_name и с различен user_id .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDb не поддържа функция ANY_VALUE().

  2. Как да използвате изгледи в MySQL база данни

  3. Как да инсталирате MySQL на Debian 7

  4. Как да направя замяна на регулярен израз в MySQL?

  5. Трябва ли да запазя поле PRICE като int или като float int в базата данни?