# farmerapp/management/commands/transfer_director_data.py

from django.core.management.base import BaseCommand
from farmerapp.models import Farmer
from contacts.models import ContactPerson


class Command(BaseCommand):
    help = 'Transfer director data from Farmer model to ContactPerson model'

    def handle(self, *args, **kwargs):
        farmers = Farmer.objects.all()

        for farmer in farmers:
            if farmer.director:
                full_name = farmer.director.strip()
                name_parts = full_name.split(' ')

                if len(name_parts) == 3:
                    surname, name, father_name = name_parts
                elif len(name_parts) == 2:
                    surname, name = name_parts
                    father_name = ''
                else:
                    continue

                contact_person, created = ContactPerson.objects.get_or_create(
                    name=name,
                    surname=surname,
                    father_name=father_name
                )
                contact_person.farmers.add(farmer)
                contact_person.save()

        self.stdout.write(self.style.SUCCESS('Successfully transferred director data'))
