社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Ehsan Nouri

Ehsan Nouri 最近创建的主题
Ehsan Nouri 最近回复了
7 年前
回复了 Ehsan Nouri 创建的主题 » 基于登录用户的Django表单中的筛选器下拉选项

你这样做是正确的,只要改变 __init__ 对此

class NewTicket(forms.ModelForm):

    def __init__(self,user, *args, **kwargs):
        super(NewTicket, self).__init__(*args, **kwargs)
        try:
            client_id = UserExtend.objects.values_list('client_id', flat=True).get(user=user)
            self.fields['business'].queryset=Business.objects.filter(client__id=client_id)
        except UserExtend.DoesNotExist:
            ### there is not userextend corresponding to this user, do what you want 
            pass


    class Meta:
        model=Ticket
        fields = ('subject','business')

另外,不要忘记将request.user传递到视图中的表单。