django - 删除许多 MySQL 表中的相同行

标签 django

我正在寻找删除 4 个数据库中存在的一些相同行。 每个数据库都有一个名为 Identity_Individu 的表。不要担心这个过程,这是在数据库之间共享数据的唯一方法,因为 Django 不允许数据交叉关系。

我有这部分:

#settings.py file
BDD = ('default', 'DS_Douane', 'DS_Impots', 'DS_Finance')

#views.py file

@login_required
def Identity_Deleting(request) :

    query_number = request.GET.get('q6')

    if query_number :
        query_number_list = Individu.objects.filter(NumeroIdentification__iexact=query_number)    
    else :
        query_number_list = Individu.objects.none()

    form = IndividuFormulaire(request.POST or None, instance = query_number_list.first())

    if "Delete" in request.POST :
        for element in settings.BDD :
            form = Individu.objects.filter(pk=query_number_list).delete().using(element)

        return HttpResponseRedirect(reverse('Home'))

我遇到了一个问题:

(1093, "Table 'Identity_individu' is specified twice, both as a target for 'DELETE' and as a separate source for data")

我如何将 .delete()using() 一起使用,以便删除每个表中符合条件的所有行?

我尝试了 .delete(using=element) 但我得到了:

delete() got an unexpected keyword argument 'using'

最佳答案

这是我们 talked 之后的解决方案:)

@login_required
def Identity_Deleting(request) :

    query_number = request.GET.get('q6')

    if query_number :
        query_number_list = Individu.objects.filter(NumeroIdentification__iexact=query_number)    
    else :
        query_number_list = Individu.objects.none()

    instance = query_number_list.first()
    form = IndividuFormulaire(request.POST or None, instance = query_number_list.first())

    if "Delete" in request.POST :
        ids_to_delete = list(query_number_list.values_list('id', flat=True))
        for element in settings.BDD :
            form = Individu.objects.using(element).filter(pk__in=ids_to_delete).delete() 

        return HttpResponseRedirect(reverse('Home'))

有两件重要的事情:

  • 第一个查询集query_number_list的结果应该保存在一个list中,以备后用
  • .using() 应该在 .delete()
  • 之前使用

关于django - 删除许多 MySQL 表中的相同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44776458/

相关文章:

python - manage.py 和 other.py 文件不在同级文件中

django - 如何向 Django 表单小部件添加额外的上下文

python - Django 中如何根据其他模型字段中的图库名称上传照片?

python - Django 消息框架 - 消息特定用户

django - '用户' 对象没有属性 'username'

python - 使用 Django,如何将模型的 ForeignKey 添加到 CreateView?

python - django多个具有相同模型和外键的ModelForm

python - Django 一次运行所有测试

Django表单字段选择,添加属性

django - 如何在基于单个类的 View 中装饰不同的 http 方法