2011-08-19 1 views
0

"익명 또한"현재 사용자 "(누가 자신의 프로필을 편집하는) 사용자를"친구 "django 자동 완성 위젯에 일부 값이 표시되지 않도록하는 옵션이 있습니까? 내에서 장고 - 자동 완성을 사용하고

장고 - 자동 완성이 완벽하게 작동하지만 디스플레이를 추가하기위한"편집 사용자 정보보기 " "

저는이 두 가지를 제외하고 싶습니다.

어떻게하면됩니까?


models.py

class Profile(UserenaLanguageBaseProfile): 
    friends = models.ManyToManyField(User,related_name='userfriends', blank=True, null=True) 

forms.py

class EditProfileForm(forms.ModelForm): 
class Meta: 
     widgets = { 
      'friends': MultipleAutocompleteWidget(Profile.friends), 
     } 

답변

0

그것은 완전한 답변은 아니지만 당신이 그 라인을 따라 뭔가 수행해야합니다

autocomplete = AutocompleteView() 

class ProfileAutocomplete(AutocompleteSettings): 
    queryset = Profile.objects.exclude(friends='anonymous') 

    autocomplete.register(Profile.friends, UserAutocomplete) 

을하지만, 현재 사용자를 제외하지 않습니다. 이를 얻으려면 ProfileAutocomplete 클래스의 view 메소드를 재정의/연장해야합니다. 이 방법에서는 사용자 ID (아마도 세션에서)를 가져온 다음 쿼리 세트에서 제외해야합니다. 세션이 작동하지 않는 경우 (가능한 경우, 너무 많은 시간을 투자하지 않았 음) jquery_autocomplete.js 스크립트를 수정하여 사용자를 view 메소드로 전달해야 할 수 있습니다.