按名称Django查找表

2024-05-16 02:38:24 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在python代码中按名称查找表

例如:

class AlexAlex(models.Model):
    title =  models.CharField(max_length=255)
    message = models.TextField()
    dataMsg = models.DateField()
    fromMsg = models.CharField(max_length=255)
    readMsg = models.BooleanField(default=False)
    def __str__(self):
        return self.title

现在我想找到类名,因为它有一些用户名

代码中的示例:

UserLogged = "AlexAlex" or UserLogged = "Alex alex" + "s" // Example name user logged
Table = functionWhichFindTablebyName(UserLogged) // Find table by name 
Table.objects.get.all()

我可以这样做吗?我想为“邮箱用户”使用。我有很多表,我不想在导入/从中编写手册


Tags: 代码nameself名称messagemodeltitlemodels
1条回答
网友
1楼 · 发布于 2024-05-16 02:38:24

我觉得这反映了一个执行不力的东西,需要第二次。听起来像是在为每个用户创建一个表,并在其中存储该用户的消息,而此时您应该创建一个与User相关的表Message。也就是说,如果要从模块检索对象(表):

from any_app import models

getattr(models, "AlexAlex").objects.all()

Django还提供了ContentTypes,它允许您在不导入模型的情况下完成所需的操作。例如

from django.contrib.contenttypes.models import ContentType

obj = ContentType.objects.get(app_label="any_app", model="alexalex")
obj.model_class().objects.all()
# Or p.get_all_objects_for_this_type(kwargs)

相关问题 更多 >