我面临以下情况:我有一个 django 项目,它使用外部应用程序 [App1]。在 App1 中,它具有以下结构:
抽象类“基础”:
class Base(models.Model):
"""
Base model with boilerplate for all models.
"""
name = models.CharField(max_length=200, db_index=True)
alternate_names = models.TextField(null=True, blank=True,
default='')
..............
..............
class Meta:
abstract = True
def __str__(self):
display_name = getattr(self, 'display_name', None)
if display_name:
return display_name
return self.name
Run Code Online (Sandbox Code Playgroud)基于“Base”的抽象类,称为“AbstractClassA”:
class AbstractClassA(Base):
display_name = models.CharField(max_length=200)
....
....
class Meta(Base.Meta):
abstract = True
def get_display_name(self):
....
....
return ....
Run Code Online (Sandbox Code Playgroud)非抽象类类 ClassA(AbstractClassA)
现在,当我在视图中对此 ClassA 进行查询时,例如:
qs = ClassA.objects.filter(Q(name__icontains=query_term)....)
return qs
Run Code Online (Sandbox Code Playgroud)
我将这个 qs 输入另一个外部应用程序(自动完成),这样当我在我的网络表单上输入“xxxx”时,表单会根据这个 qs …