Как сгенерировать исходные данные Django для модели, имеющей поле "through"?

Я использую Python 3.9 и Django 3.2. Я хочу определить объекты Address для моих моделей Coop, поэтому я создал эти модели ...

class Coop(models.Model):
=   ,,,
    addresses = models.ManyToManyField(Address, through='CoopAddressTags')


class CoopAddressTags(models.Model):
    coop = models.ForeignKey(Coop, on_delete=models.SET_NULL, null=True)
    address = models.ForeignKey(Address, on_delete=models.SET_NULL, null=True)
    address_is_public = models.BooleanField(default=True, null=False)

Мой вопрос заключается в том, как мне сгенерировать посевные данные YAML, которые создают адрес, кооператив и данные его таблицы присоединения (CoopAddressTag), связывая их между собой?

    address_pks = Command.get_and_print_address_yaml(file_path, city_pks)

    ...
    for row in input_file:
        id = row['ID'].strip().encode("utf-8", 'ignore').decode("utf-8")

            ...
                # Output the coop
                print("- model: directory.coop")
                print("  pk:",id)
                print("  fields:")
                print("    name: \"",name,"\"", sep='')
                print("    types:")
                for entry in types:
                    print("    - ['", entry, "']", sep='') 
                print("    addresses: [", address_pk, "]")                   
                print("    enabled:",enabled)
                if phone:
                    print("    phone:",contact_phone_pk)
                if email:
                    print("    email:",contact_email_pk)
                print("    web_site: \"",web_site,"\"", sep='')
                print("    approved: True", sep='')

Мне нужно, чтобы Coop существовал до того, как я смогу создать данные таблицы присоединения (CoopAddressTag), но затем я запутался, как затем ввести данные адреса в Coop в YAML.

Вернуться на верх