Я задавался вопросом, как я могу использовать внешний ключ для формовки поиска, например,
class Product(models.Model):
name = models.CharField(max_length = 127)
description = models.TextField()
code = models.CharField(max_length = 127)
def __unicode__(self):
return self.name + " - " + self.code
class ProductLot(models.Model):
product = models.ForeignKey(Product)
code = models.CharField(max_length = 30)
lot_no = models.CharField(max_length = 30)
location = models.CharField(max_length = 127)
incoming = models.IntegerField()
commited = models.IntegerField()
available = models.IntegerField()
reorder = models.IntegerField()
created_date = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.code + " - " + self.product.name + " - " + self.lot_no
class LotComment(models.Model):
product_lot = models.ForeignKey(ProductLot)
comment_user = models.ForeignKey(User, null=True)
comment_text = models.TextField()
created_date = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.product_lot.product.code + " - " +
self.product_lot.product.name + " - " +
self.product_lot.lot_no + " - " + str(self.created_date)
чем в моем admin.py файле я имею
from CMS.Inventory.models import Product
class padmin(admin.ModelAdmin):
search_fields=['name', 'description', 'code', 'lot_no' ]
admin.site.register(Product, padmin)
но я хочу, чтобы 'LotComments' смог использовать те же поля поиска, что 'продукт' может что касается ect кода.
Надеюсь, что я объяснил это хорошо
Вы можете указать связанные поля поиска в Admin Search_Fields
так же, как вы делаете на Querysets Django. Проверьте на документацию . Для объектов
объект Search_fields
будет выглядеть что-то вроде:
search_fields = ['product_lot__product__name',
'product_lot__product__description',
'product_lot__product__code',
'product_lot__lot_no']