これが私のモデル構造です。
class Category(models.Model):
name = models.CharField(max_length=100)
class SUBCategory(models.Model):
name = models.CharField(max_length=100)
cat = models.ForeignKey(Category,related_name = 'scat',null = True,blank=True)
class Tags(models.Model):
name = models.CharField(max_length=100)
class FullProfile(models.Model):
user = models.OneToOneField(User)
birthday = models.DateField(null = True,blank=True)
first_name = models.CharField(max_length=100,null = True,blank=True)
middle_name = models.CharField(max_length=100,null = True,blank=True)
last_name = models.CharField(max_length=100,null = True,blank=True)
token = models.CharField (max_length=200,null = True,blank=True)
status = models.CharField(max_length=100,null = True,blank=True)
tags = models.ManyToManyField(Tags,related_name = 'tg',null = True,blank=True)
category = models.ForeignKey(Category,related_name = 'cat',null = True,blank=True)
facebook_url = models.CharField(max_length=100,null = True,blank=True)
twitter_url = models.CharField(max_length=100,null = True,blank=True)
mobile = models.CharField(max_length=100,null = True,blank=True)
landline = models.CharField(max_length=100,null = True,blank=True)
country = models.CharField(max_length=100,choices = COUNTRIES,null=True,blank =True,default='INDIA')
state = models.CharField(max_length=100,null = True,blank=True)
city = models.CharField(max_length=100,null = True,blank=True)
基本的に、ユーザーはカテゴリとサブカテゴリに属することができます。
特定のカテゴリ、サブカテゴリ、またはタグに属するユーザーを検索する方法を探しています。
私はちょうどのような基本的なことを試しています
get_all = FullProfile.objects.filter(
Q(category__id__iexact=cat) |
Q(user__username__icontains=keyword) |
Q(first_name__icontains=keyword)
).distinct()
この検索モジュールを有効にするためのより良い方法を教えてください。他の誰かがこのアプリを管理するので、この小さな検索には Haystack を使用したくありません。