簡體   English   中英

django1.8 F表達式和字符串子集

[英]django1.8 F expressions and string subsets

我有以下名為sheetinfo模型:

class Sheetinfo(models.Model):
    sheet_id = models.CharField(max_length=30)
    group_id = models.CharField(max_length=200,default = 'xx')

我想將所有group_id更新為sheet_id字符串的子集-具體來說:

group_id = sheet_id[19:-6]

我使用F表達式https://docs.djangoproject.com/en/1.8/ref/models/expressions/#django.db.models.F嘗試了以下操作

def fix_group():
    qs = Sheetinfo.objects.all()
    qs.update(group_num=F('sheet_id')[19:-6])

但是我收到此錯誤:

'F' object has no attribute '__getitem__'

我可以執行以下操作,但速度慢(每1M行10分鍾以上)

qs = Sheetinfo.objects.all()
for s in qs:
    group_id_str = s.sheet_id
    s.group_id = str(group_id_str)[19:-6]
    s.save()

不幸的是, F()支持僅限於使用以下運算符的數字運算: +-*/%**

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM