我是 Django 的新手,有以下模型:
class MainFile(models.Model):
owner = models.ForeignKey(User)
# docfile = models.FileField(verbose_name= 'Enter you file', null=True)
file_id = models.UUIDField(max_length=38, primary_key=True, default=1)
file_name = models.CharField(max_length=70)
file_suffix = models.CharField(max_length=5, blank=True, null=True)
file_date = models.DateTimeField(auto_now_add=True, null=True)
所以我想使用 file_id 过滤表的一行,并在该行中访问 file_suffix。目前我找到了以下方法,但很棘手:
obj = MainFile.objects.filter(file_id = 'e3e978a3-0375-4bb9-85a2-5175e2ec097d')
suffix = [i.file_suffix for i in obj]
我尝试了很多方法,但没有运气,但我知道这不是正确的方法。使用 file_id 作为过滤器创建 obj 后如何获取 file_suffix?
最佳答案
您可以使用 get
而不是 filter
obj = MainFile.objects.get(file_id='e3e978a3-0375-4bb9-85a2-5175e2ec097d')
obj.file_suffix
使用
get
当您的查询集最多从数据库中取回 1 行时。在这种情况下,由于 file_id
被标记为主键,你可以确定它是唯一的。
关于python - 如何检索查询集对象中字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34964799/