簡體   English   中英

'str' 對象沒有屬性 'save' Django

[英]'str' object has no attribute 'save' Django

class AgentForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        # agents = dashboard_userlink.objects.filter(username__in=Subquery(task_router_calldetail.objects.values('agent').distinct())).values_list('username').annotate(full_name=Concat('first_name', Value(' '),'last_name')).order_by('first_name')
        agents = dashboard_userlink.objects.values('username').distinct().values_list('username').annotate(full_name=Concat('first_name', Value(' '),'last_name')).order_by('first_name')
        for i in agents:
            agent_name = i[0]
            agent_value = i[1]
            if agent_value == ' ':
                agent_value = agent_name
                agent_value.save()
        agent_list = [('','Select')] + list(agents)
        super(AgentForm, self).__init__(*args, **kwargs)
        self.fields['agent'] = forms.ChoiceField(
            choices=agent_list )

檢查下面的代碼部分

        if agent_value == ' ':
            agent_value = agent_name
            agent_value.save()

您正在使用的agents變量沒有模型實例(我認為您需要一個模型實例)而只是一個字符串值,因此agent_value.save()拋出錯誤

在這里您使用的是 values(),它返回字典而不是模型的實例。 您可以使用 save() 來保存實例。 Save 用於將對象保存到數據庫。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM