2012-10-12 25 views
7

Tôi có một mô hình có hai trường là khóa ngoài cho các mô hình khác.django-grappelli Tra cứu tự động hoàn tất với nhiều trường khóa ngoài

class Homepage(models.Model): 
    featured_user = models.ForeignKey('auth.user') 
    featured_story = models.ForeignKey('site_stories.story') 

    @staticmethod 
    def autocomplete_search_fields(): 
    return ("featured_user__icontains", "featured_story__icontains",) # Is this right? 


class HomepageAdmin(admin.ModelAdmin): 
    raw_id_fields = ('featured_user', 'featured_story',) 
    autocomplete_lookup_fields = { 
    'fk': ['featured_user'], 
    'fk': ['featured_story'] # <====== What should this be??? 
    } 
admin.site.register(Homepage, HomepageAdmin) 

Sau reading the admin docs và thử một vài điều, nó trở nên rõ ràng rằng bạn nghĩa đen cần phải sử dụng nhãn "fk" cho Grappelli áp dụng tra cứu autocomplete định dạng cho một lĩnh vực. Vì vậy ... làm thế nào tôi có thể làm điều này với mô hình này, nơi có nhiều lĩnh vực chính nước ngoài?

Trả lời

11
class HomepageAdmin(admin.ModelAdmin): 
    raw_id_fields = ('featured_user', 'featured_story',) 
    autocomplete_lookup_fields = { 
    'fk': ['featured_user','featured_story'], 
    } 
+0

Oh, duhhhhh. -1 cho tôi để trở thành IDIOT. – TAH

+6

Tài liệu không rõ ràng. –

Các vấn đề liên quan