13👍
✅
UPDATE: this answer is outmoded, see the answer from elsadek instead
You’re asking to be able to follow a reverse relation (ie, from PhoneNumber back to Contact) but I don’t believe the double-underscore __
trick for spanning tables will work here.
If your Contact had the key to the PhoneNumber model instead of the current set-up:
class Contact(models.Model):
...
phone = models.ForeignKey(PhoneNumber)
then in the admin config you could do:
search_fields = ('first_name', 'last_name', 'email', 'phone__phone')
18👍
Just in case someone comes over this question, in Django 1.6, search in reverse relation is indeed possible.
In your phone model add related_name=”phonesList” to contact field
contact = models.ForeignKey(Contact, related_name="phonesList")
Now in search_field you can use the double undescore to go from conatct to phones like this:
phonesList__phone
search_fields = ('first_name', 'last_name', 'email','phonesList__phone')
- How to override template in django-allauth?
- Is there any way to use GUIDs in django?
- Django filter through multiple fields in a many-to-many intermediary table
- Django bootstrap alerts not working as expected
- Django form dropdown list of stored models
Source:stackexchange.com