我试图设置使用DjangoModelFactory从UserFactory factory_boy和法克尔。这是我的代码。
fake = Faker('uk_UA')
class UserFactory(DjangoModelFactory):
class Meta:
model = User
username = fake.user_name
first_name = fake.first_name_male
last_name = fake.last_name_male
email = fake.safe_email
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用它时出现错误:
DataError Traceback (most recent call last)
/Users/mero/.virtualenvs/fine-hut/lib/python3.6/site-packages/django/db/backends/utils.py in execute(self, sql, params)
63 else:
---> 64 return self.cursor.execute(sql, params)
65
DataError: value too long for type character varying(30)
Run Code Online (Sandbox Code Playgroud)
我认为问题出在 Faker 生成的太长的字段中。但是我没有找到任何方法来限制它在 python 中的长度,尽管几乎没有找到 Ruby Faker 的答案。
有没有办法在 python Faker 中做到这一点?或者也许还有其他方法可以使用 Faker 生成特定于语言环境的字段?
在 DjangoRestFramework 中,您可以更改标头中的关键字以进行令牌验证。
来自文档
注意:如果要在标头中使用不同的关键字,例如 Bearer,只需将 TokenAuthentication 子类化并设置关键字类变量即可。
更改默认关键字的目的是什么?我看过“Bearer”、“Basic”和其他一些变体,但只是不明白这样做的目的。谁能解释一下?
我想更新或创建 DynamoDB 项目以获取下一个元素:
{
"id": 156,
"date": 12323233.000,
"countries": {
"ua": 1,
"ru": 2}
}
Run Code Online (Sandbox Code Playgroud)
我使用 python 和 boto3。所以我可以检查字段是否countries存在,如果不存在则添加它。但这将意味着 2 个 DB 请求。
table.update_item(
Key={
'id': 156,
'date': date,
},
UpdateExpression='SET countries = if_not_exists(countries, :countries)',
ExpressionAttributeValues={
':countries': {},
},
)
table.update_item(
Key={
'id': 156,
'date': date,
},
UpdateExpression='ADD countries.#country :inc',
ExpressionAttributeNames={"#country": country},
ExpressionAttributeValues={
':inc': 1
},
)
Run Code Online (Sandbox Code Playgroud)
有没有办法将这 2 个请求合二为一?
我在工作中经常使用 fzf.vim,但不知道如何从搜索结果中排除不正确的行。这是我遇到的问题的一个例子。
我需要找到每个model.search_views事件,但也需要找到model.search_views_smth事件。如何从结果中排除最后一项?
这似乎是显而易见的,但我花了很多时间并没有找到我的问题的答案。