我有 2 個模型,我想根據我的結構使用多對多欄位進行搜索,以下是我的模型:
class User(django_models.AbstractBaseUser, TimeStampedModel,
django_models.PermissionsMixin):
"""
User model for the user creation
"""
uuid = models.UUIDField(unique=True, max_length=500,
default=uuid.uuid4,
editable=False,
db_index=True, blank=False, null=False)
account_types = models.ManyToManyField(AccountTypes,
related_name='account_types')
然后是另一個模型AccountTypes:
class AccountTypes(TimeStampedModel, models.Model):
"""
Account types for the users. e.g Mentors, Mentees, Parents etc.
"""
uuid = models.UUIDField(unique=True, max_length=500,
default=uuid.uuid4,
editable=False,
db_index=True, blank=False, null=False)
name = models.CharField(_('Account Name'), max_length=30, blank=False,
null=False)
如何使用特定的 uuid 搜索用戶AccountType?
我的嘗試是這樣的:
User.objects.get(uuid=uuid, account_types__in=['Mentor'])
但我收到了這個錯誤:
ValueError: Field 'id' expected a number but got 'Mentor'.
uj5u.com熱心網友回復:
您應該過濾name的account_types,因此:
User.objects.get(uuid=uuid, account_types__name='Mentor')
或者,如果您想要User作為導師的所有物件,您可以使用:
User.objects.filter(account_types__name='Mentor')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351075.html
