再次提出有关django ......和pandas的问题。
我正在尝试将两个“选择”列的值放入pandas数据帧中;但是,我只是得到了选择的标签。
示例代码:
class Entry(models.Model):
STATUS_ONE = 1
STATUS_TWO = 2
STATUS_CHOICES = (
(STATUS_ONE, 'Status one'),
(STATUS_TWO, 'Status two')
)
status = models.IntegerField(choices=STATUS_CHOICES, default=STATUS_ONE)
status_date = models.DateTimeField(auto_now=True)
contents = models.TextField()
我得到的数据:
from django_pandas import read_frame
from my_app.models import Entry
qs = Entry.objects.all()
df = read_frame(qs)
df
# status status_date contents
# Status one 2018-04-30 20:00:00+00:00 Test contents
# Status two 2018-04-30 21:00:00+00:00 More contents
我想得到的是:
# status status_date contents
# 1 2018-04-30 20:00:00+00:00 Test contents
# 2 2018-04-30 21:00:00+00:00 More contents
有办法搞定吗?
答案 0 :(得分:1)
我知道了!
我只需要将{strong> verbose=False
选项添加到read_frame
,就是这样:
df = read_frame(qs, verbose=False)
答案 1 :(得分:0)
我很确定你因为STATUS_CHOICES
而得到了这个。以下内容:
def Entry(models.Model):
STATUS_ONE = 1
STATUS_TWO = 2
STATUS_CHOICES = (
(STATUS_ONE, '1'),
(STATUS_TWO, '2')
)
或者,您是否尝试过将其作为一个类而不是一个函数?例如,
class Entry(models.Model):
STATUS_ONE = 1
STATUS_TWO = 2
STATUS_CHOICES = (
(STATUS_ONE, 'Status one'),
(STATUS_TWO, 'Status two')
)