获取Django中filter的具体值

青葱年少 python 189

原文标题Get the specific value of filter in Django

我知道这很常见,但我想知道是否有任何方法可以将对象值转换为特定值,如 Integer ,过滤查询的输出是card_tbl object (1)但我想获得 this 的具体值1

cardId = 1
card_tbl = card_tbl.objects.get(id=cardId)
print(card_tbl)

打印返回而不是具体值的例子。1

card_tbl object (1)

然后我的第二个问题是有什么办法可以像这样将对象查询到另一个表?

    cardId = 1
    card_tbls = card_tbl.objects.get(id=cardId)
    cat1 = category1_tbl.objects.get(id=card_tbls)

Models.py

class main_tbl(models.Model):
  category1 = models.ForeignKey(category1_tbl, models.DO_NOTHING, blank=True, null=True)
  category2 = models.ForeignKey(category2_tbl, models.DO_NOTHING, blank=True, null=True)
  title = models.CharField(max_length=200,blank=True, null=True)
  description = models.CharField(max_length=1500,blank=True, null=True)
  requested_by = models.CharField(max_length=200,blank=True, null=True)
  path = models.CharField(max_length=1000,blank=True, null=True)
  date_requested = models.DateField(null=True, blank=True)
  status = models.IntegerField(max_length=60, default=0, null=True)

class category1_tbl(models.Model):
  name = models.CharField(max_length=200,blank=True, null=True)
  isactive = models.CharField(max_length=200,blank=True, null=True)
  created =  models.DateField(null=True, blank=True)
  path = models.CharField(max_length=1000,blank=True, null=True)
  modify = models.DateField(null=True, blank=True)
  created_by = models.CharField(max_length=1000,blank=True, null=True)

class category2_tbl(models.Model):
  category1 = models.ForeignKey(category1_tbl, models.DO_NOTHING, blank=True, null=True)
  priority = models.ForeignKey(priority_tbl, models.DO_NOTHING, blank=True, null=True)
  name = models.CharField(max_length=200,blank=True, null=True)
  isactive = models.CharField(max_length=200,blank=True, null=True)
  created =  models.DateField(null=True, blank=True)
  modify = models.DateField(null=True, blank=True)
  created_by = models.CharField(max_length=200,blank=True, null=True)

提前致谢!

原文链接:https://stackoverflow.com//questions/71507789/get-the-specific-value-of-filter-in-django

回复

我来回复
  • rahul.m的头像
    rahul.m 评论

    你可以使用django模型__str__

    https://docs.djangoproject.com/en/4.0/ref/models/instances/#str

    每当您在对象上调用 str() 时都会调用 str() 方法。Django 在许多地方使用 str(obj)。最值得注意的是,在 Django 管理站点中显示一个对象,并在它显示一个模板时作为插入到模板中的值对象。因此,您应该始终从 str() 方法返回模型的漂亮、人类可读的表示。

    尝试这样的事情

    class YourModel(model.Models):
    
        your_fields = model.CharField()
        
        def __str__(self):
            return str(self.id)
    
    2年前 0条评论