从Django数据库模型中获取项目

时间:2018-06-12 06:32:22

标签: django django-models

我是Django的新手,我正试图从数据库中获取该项目。 问题是该项目在Django中保存为列表。而[[]项也没有帮助。请帮我弄清楚如何获取数据

在shell中,我试过

for x in NewsItem.objects.all():
     print(x.tag)

这将打印

['babi kutil', 'babi hutan', 'babi liar', 'hutan indonesia']
['ibu aniaya anak']
['pilkada serentak 2018', 'bandung', 'nurul arifin', 'pilwalkot bandung 2018']
['narkoba di surabaya', 'bnnp jatim']
['pilkada serentak 2018', 'banten']

但我想得到每个项目,而不是列表。

NewsItem模型。

class NewsItem(models.Model):
    breadcrumbs = models.CharField(max_length=150, null=True)
    penulis = models.CharField(max_length=100, null=True)
    judul = models.CharField(max_length=200, null=True)
    berita = models.TextField()
    tag = models.TextField(null=True)
    url = models.CharField(max_length=200, unique = True)
    website = models.CharField(max_length=50, null=True)
    date = models.DateTimeField()
    @property
    def to_dict(self):
        data = {
            'data': json.loads(self.url),
            'tanggal': self.tanggal
        }
        return data

    def __str__(self):
        return self.url

1 个答案:

答案 0 :(得分:2)

您可以使用 2 for循环来实现此功能,并且正如您已将tag称为 TextField ,因此您需要将其拆分为逗号。

for x in NewsItem.objects.all():
     tag_text = x.tag[1:-1]
     tag_list = tag_text.split(",")
     for tag in tag_list:
         print(tag)