• Django models 中导入重复数据的解决办法


    如果你导入数据过多,导入时出错了,或者你手动停止了,导入了一部分,还有一部分没有导入。或者你再次运行上面的命令,你会发现数据重复了,怎么办呢?

    django.db.models 中还有一个函数叫 get_or_create() 有就获取过来,没有就创建,用它可以避免重复,但是速度可以会慢些,因为要先尝试获取,看看有没有

    只要把上面的

    models.PangleData.objects.create(ad_slot_id=ad_slot_id, ad_slot_type=ad_slot_type, app_id=app_id,
                                                 app_name=app_name, bidding_type=bidding_type, click=click,
                                                 click_rate=click_rate, code_name=code_name, currency=currency,
                                                 date=date, ecpm=ecpm, fill_rate=fill_rate, media_m_ssr=media_m_ssr,
                                                 media_name=media_name, os=os, package_name=package_name,region=region,
                                                 request=request, P_return=P_return, revenue=revenue, show=show,
                                                 time_zone=time_zone, use_mediation=use_mediation,)
    

      

    换成下边这种

    models.PangleData.objects.get_or_create(ad_slot_id=ad_slot_id, ad_slot_type=ad_slot_type, app_id=app_id,
                                                 app_name=app_name, bidding_type=bidding_type, click=click,
                                                 click_rate=click_rate, code_name=code_name, currency=currency,
                                                 date=date, ecpm=ecpm, fill_rate=fill_rate, media_m_ssr=media_m_ssr,
                                                 media_name=media_name, os=os, package_name=package_name,region=region,
                                                 request=request, P_return=P_return, revenue=revenue, show=show,
                                                 time_zone=time_zone, use_mediation=use_mediation,)
    

      就可以避免导入重复数据了;

    返回值是(PangleDataObject, True/False) 新建时返回 True, 已经存在时返回 False。

    作者:Star-Hitian,转载请注明原文链接:https://www.cnblogs.com/Star-Haitian/p/15189810.html

  • 相关阅读:
    阿里云主机centos设置虚拟内存
    MySQL表名不区分大小写的设置方法
    java.security.KeyException
    Java.net.URLConnection和Apache HTTPClient的主要区别对比
    linux常用命令
    minerd
    kill常用
    阿里云centos 6安装Nginx+PHP+MySQL
    打开MySQL数据库远程访问的权限
    centos 安装MySql 5.6
  • 原文地址:https://www.cnblogs.com/Star-Haitian/p/15189810.html
Copyright © 2020-2023  润新知