У меня есть следующая модель, и давайте предположим, что у нас есть 5 SouceCode
объектов и 2 Project
объектов.
из 5 SouceCode objects
я добавил 2 objects
SourceCode как ForiegnKeyField to Project Model.
Теперь, как мне распечатать / запросить 3 SourceCode objects
, который не использовался как ForeignKeyField for Project Model.
models.py class SourceCode(models.Model):
source_description = models.CharField(max_length=80,unique=True)
source_urls = ArrayField(ArrayField(models.TextField(blank=True),),blank=True,null=True,default=list)
source_results = JSONField(blank=True,null=True,default=dict)
class Project(models.Model):
project_name = models.CharField(max_length=200,unique=True)
project_sourcecode_O2M = models.ForeignKey(SourceCode,on_delete=models.SET_NULL,blank=True, null=True)
Один из возможных способов, который я знаю, таков:
project_source_code_list = []
for each_project in Project.objects.all():
project_source_code_list.append(each_project.project_sourcecode_O2M.source_description)
for each_source_code in SourceCode.objects.all():
source_description = each_source_project.source_description
if source_description not in project_source_code_list:
print("YEP Not there")
Я ищу хорошее альтернативное решение для этого.
Я бы хотел отфильтровать все неназначенные объекты SourceCode
моделей и распечатать source_description
этих объектов
Спасибо.