1
DjangoModelFactoryを使用してUserFactoryをfactory_boyとFakerに設定しようとしています。 ここに私のコードです。Python Fakerフィールドの長さを設定する方法
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
しかし、私はそれを使用しようとすると、私はエラーを得た:
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)
私はその問題が偽物で生成され、あまりにも長い分野にあると仮定します。しかし、Pythonで長さを制限する方法は見つけられませんでしたが、Ruby Fakerの答えはほとんど見つかりませんでした。
これはPython Fakerで行う方法はありますか? ロケール固有のフィールドを生成するためにFakerを使用する他の方法がありますか?偽物で、フィールドの長さを設定するオプションがある場合、それはまだ面白い私のために動作しますが、
class UserFactory(DjangoModelFactory):
class Meta:
model = User
username = factory.Faker('user_name', locale='uk_UA')
first_name = factory.Faker('first_name', locale='uk_UA')
last_name = factory.Faker('last_name', locale='uk_UA')
email = factory.Faker('safe_email', locale='uk_UA')
:
私は[this](https://stackoverflow.com/a/8484841/5716723)の回答が役に立ちそうです –
ありがとう@EyalCohen。しかし、私は将来の問題を防ぐためにdbを変更したくありません。例えば、私はどこか別の場所に私のアプリを展開します。 –