首页 > 解决方案 > Django NameError:名称'street_address'未定义

问题描述

对不起,因为我是 Django 新手,所以很长的帖子 - 已经查找了相同错误的其他答案,但没有一个有助于解决这个问题。

我正在尝试使用 python 脚本将数据从 csv 文件导入到 Django。由于有多个文件,脚本可以选择一个一个地导入这些文件。

导入脚本向用户显示如下菜单,以从所述 csv 文件中导入数据

    1: Import FileA
    2: Import FileB
    3: Import FileC
    4: Import FileD

    All: Import all files

    Q: Quit/Log Out

现在假设我导入FileA了以下代码成功运行

        try:
            addr = Address.objects.create(
                street_address=row[2],
                suburb=row[3],
                pin=row[4],
                state=state1,
                country=count,
                created_by='initial_migration',
                created_dttm=dt.datetime.now(),
                updated_by='initial_migration',
                updated_dttm=dt.datetime.now()
            )

我面临的主要问题是,在FileB从是这样一个条目)。FileAstreet_address

当我尝试导入FileB并引用从 导入的同一street_address字段时FileA,我收到以下错误

addrs = Address.objects.exclude(street_address!='').values(suburb = row[9].strip() if row[9] else 'Unknown',state =row[11].strip())
NameError: name 'street_address' is not defined

导入代码FileB

         try:
             # print('{}-{}-{}'.format(row[11], row[1], row[2]))
             gender1 = Codes.objects.get(short_description=row[1].strip().title(),field_name='Gender')
             title1 = Codes.objects.get(short_description=row[2].strip(), field_name='Title')
             centre1 = Centre.objects.get(centre_name =row[0].strip())
             addrs = Address.objects.exclude(street_address!='').values(suburb = row[9].strip() if row[9] else 'Unknown',state =row[11].strip())

任何帮助将不胜感激。

标签: pythondjango

解决方案


!=在查询集上过滤时不能使用。

你可以为此使用Q。

from django.db.models import Q

addrs = Address.objects.exclude(~Q(street_address=''))...

推荐阅读