41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from pprint import pprint
|
||
|
||
from django.db.models import Q
|
||
|
||
from account.transfer_data import STOP_LIST
|
||
from transfer.models import Comments
|
||
from transfer.serializers.comments import CommentSerializer
|
||
|
||
|
||
def transfer_comments():
|
||
# В queryset исключены объекты по условию в связанные моделях
|
||
# см. transfer_establishment() и transfer_user()
|
||
queryset = Comments.objects.exclude(
|
||
Q(establishment__type='Wineyard') |
|
||
Q(establishment__location__timezone__isnull=True) |
|
||
Q(account__confirmed_at__isnull=True) |
|
||
Q(account__email__in=STOP_LIST)
|
||
).filter(
|
||
account__isnull=False,
|
||
mark__isnull=False
|
||
).only(
|
||
'id',
|
||
'comment',
|
||
'mark',
|
||
'establishment_id',
|
||
'account_id',
|
||
)
|
||
|
||
serialized_data = CommentSerializer(data=list(queryset.values()), many=True)
|
||
if serialized_data.is_valid():
|
||
serialized_data.save()
|
||
else:
|
||
pprint(serialized_data.errors)
|
||
|
||
|
||
data_types = {
|
||
'comment': [
|
||
transfer_comments
|
||
]
|
||
}
|