我有一個簡單的地址簿應用程序,我想讓搜索。該模型將看起來像:django多字段搜索的簡單方法
class Address(models.Model):
address1 = models.CharField("Address Line 1", max_length=128)
address2 = models.CharField("Address Line 2", max_length=128)
city = models.CharField("City", max_length=128)
state = models.CharField("State", max_length=24)
zipCode = models.CharField("Zip Code", max_length=24)
def __unicode__(self):
return "%s %s, %s, %s, %s" % (self.address1, self.address2, self.city, self.state, self.zipCode)
class Entry(models.Model):
name = models.CharField("Name of Business", max_length=128)
createdBy = models.ForeignKey(User)
address = models.ForeignKey(Address, unique=True)
def __unicode__(self):
return "%s - %s, %s" % (self.name, self.address.city, self.address.state)
我想搜索是相當寬鬆的,如:Bank of America Los Angeles 91345
。看起來我想要一個包含所有這些元素的字段到我可以搜索的字段中,但這似乎也是多餘的。我希望我可以一個方法添加到入門型號是這樣的:
def _getSearchText(self):
return "%s %s %s" % (self.name, self.address, self.mascot)
searchText = property(_getSearchText)
...和搜索的領域,但我想這是一廂情願的想法......我應該如何看待這種使用基本Django和SqLite(這是一個學習練習)。
謝謝!