sql >> Databáze >  >> RDS >> Mysql

Django Query, kde jedno pole je duplicitní a druhé odlišné

Zde můžete pracovat s poddotazem, ale myslím, že na tom nebude moc záležet, pokud jde o výkon:

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')
    ))
)

nebo před :

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)

Zachováváme tedy UserNames objekty, pro které existuje UserNames objekt se stejným first_name a s jiným user_id .




  1. Jak změnit událost v mysql, která je již vytvořena

  2. Chyba se znaky v prvku iframe html

  3. php mysql porovnat long a lat, vrátit ty pod 10 mil

  4. Jak používat regulární výraz v dotazu django