Как получить данные из двух таблиц ManyToManyField Django

В данном случае я получаю все CountryCode, а нужно только те которые привязаны к Article_200 должно получиться что то вроде:

FN0760                4682202ARM  
FN0760                4682202AZ 
RN51002DSET           4682202ARM  
RN51002DSET           4682202AZ  
FN0792                4682202UA   
FN0792                4682202UZ  

Но вместо этого я получаю весь список CountryCode, который никак не связан с Article_200

Models:

class Country_202(models.Model):
    CountryCode = models.CharField(max_length=255, verbose_name="CountryCode", blank=True, null=True)
    CountryName = models.CharField(max_length=255, verbose_name="CountryName", blank=True, null=True)
    

class Article_200(models.Model):
    Country = models.ManyToManyField(Country_202, blank=True)
    GenArtNo = models.IntegerField(verbose_name="GenArtNo", blank=True, null=True)
    BrandNoId = models.ForeignKey(Supliers_200, on_delete=models.CASCADE, related_name='BrandNoArticle_200', blank=True, null=True)

Views:

def generate_202(brand_no: str):
    objects = Article_200.objects.filter(BrandNoId__BrandNo=brand_no).prefetch_related('Country')
    country = Country_202.objects.all()
    with open(BASE_DIR / 'converted_db' / str(brand_no) / f'202.{brand_no}', 'w', encoding='utf-8') as file:
        for obj in objects:
            for con in country:
                data = [
                    obj.ArtNo.ljust(22),  # ArtNo
                    str(brand_no).ljust(4),  # BrandNo
                    '202'.ljust(3),  # TableNo
                    con.CountryCode.ljust(3),  # CountryCode
                    ''.ljust(1),  # Exclude
                    ''.ljust(1),  # DeleteFlag
                ]
                file.write(''.join(data) + '\n')

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