【发布时间】:2014-11-20 07:34:15
【问题描述】:
在 django 默认管理面板中,我需要存储从 excel 文件上传的所有密码
为此我开发了两个模型 Pincodes 和 UploadPinFile。
我正在尝试通过 UploadPinFile 的保存方法将所有密码保存到 Pincode 模型
但它返回给我一个错误如下
强制转换为 Unicode:需要字符串或缓冲区,找到 FieldFile
下面给出两个模型定义
class UploadPincode(models.Model):
added_on = models.DateField(auto_now_add=True)
pincode_file = models.FileField(
upload_to="Pincodes/", verbose_name="Pincode Excel file (.xls,xlsx)", blank=False, null=False)
def save(self):
book = open_workbook(self.pincode_file)
for j in range(0, book.nsheets - 1):
sheet = book.sheet_by_index(j)
for i in range(sheet.nrows):
if i != 0:
a = sheet.row_values(i)
int_pin = int(a[0])
Pincode(pincode=str(int_pin)).save()
def __unicode__(self):
return str(self.added_on)
class Pincode(models.Model):
pincode = models.CharField(
max_length=100, verbose_name=u'available pincode', null=True, blank=True)
def __unicode__(self):
return self.pincode
示例 Pincode 文件包含
712409 YES
713101 YES
713102 YES
713103 YES
713201 YES
713202 YES
713203 YES
【问题讨论】: