伙计们! 我得到了下表,希望从Model3D的对象中获取所有scad文件,其中的部分不为null,并且与Model3D具有相同的id。Model3D是一个3D打印机对象,它可能由多个零件组成,因此具有保存原始模型id的“part of”属性
class Model3D(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=300)
description = models.CharField(max_length=500)
original_Model = models.ForeignKey('Model3D', on_delete=models.CASCADE, null=True)
creation_Date = models.DateTimeField(auto_now=True)
stl_File = models.FileField(null=True, upload_to='models/stlFiles')
scad_File = models.FileField(null=True, upload_to='models/scadFiles')
parameter_id = models.ForeignKey('Parameter', on_delete=models.CASCADE, null=True)
part_of = models.ForeignKey('Model3D', related_name="part_of_model3d", on_delete=models.CASCADE, null=True)
我尝试了以下方法:part_models_scad_files = Model3D.objects.filter(part_of__isnull=False).select_related(id=self.id)
但我如何获取scad文件,而不仅仅是对象
谢谢你的帮助,我真的很想了解更多
这里的技巧是使用^{}-expression
您可能不会在一个“select\u related”中进行筛选,它是调用相关的“field name”,似乎不需要select\u related,您可以简单地使用案例1
在您的情况下,如果您希望获得具有特定ID的结果,您可以使用
案例1
案例2(用于评估2个表)
案例3(如果您只想要scad_文件的列表)
相关问题 更多 >
编程相关推荐