OwlCyberSecurity - MANAGER
Edit File: autodetector.cpython-39.pyc
a ���e�4 � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z d dl mZ d dlm Z d dlmZ d d lmZ d d lmZ d dlmZmZmZ d dlmZ G d d� d�ZdS )� N)�defaultdict)�chain)�settings)�models)� operations)� Migration)�AlterModelOptions)�MigrationOptimizer)�MigrationQuestioner)�COMPILED_REGEX_TYPE�RegexObject�resolve_relation)�stable_topological_sortc @ s� e Zd ZdZdfdd�Zdgdd�Zdd� Zd d � Zdhdd�Zd d� Z dd� Z edd� �Zdidd�Z dd� Zdd� Zdd� Zdjdd�Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Zd:d;� Z d<d=� Z!d>d?� Z"d@dA� Z#dBdC� Z$dDdE� Z%edFdG� �Z&dHdI� Z'dJdK� Z(dLdM� Z)dNdO� Z*dPdQ� Z+dRdS� Z,dTdU� Z-dVdW� Z.dXdY� Z/dZd[� Z0d\d]� Z1d^d_� Z2dkd`da�Z3dbdc� Z4e5ddde� �Z6dS )l�MigrationAutodetectora Take a pair of ProjectStates and compare them to see what the first would need doing to make it match the second (the second usually being the project's current state). Note that this naturally operates on entire projects at a time, as it's likely that changes interact (for example, you can't add a ForeignKey without having a migration to add the table it depends on first). A user interface may offer single-app usage if it wishes, with the caveat that it may not always be possible. Nc C s. || _ || _|pt� | _dd� |jD �| _d S )Nc S s h | ]\}}|�qS � r )�.0Zapp�modelr r �b/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/db/migrations/autodetector.py� <setcomp>&