如何设置小写的默认字符串?这是我的模特:
class User(models.Model):
username = models.CharField(max_length=100, unique=True)
password = models.CharField(max_length=64)
name = models.CharField(max_length=200)
phone = models.CharField(max_length=20)
email = models.CharField(max_length=200)
def __init__(self, *args, **kwargs):
self.username = self.username.lower()
Run Code Online (Sandbox Code Playgroud)
我试过了,__init__但它不起作用.我希望每次保存新记录时都使用小写的用户名.谢谢.
我正在使用Django表单进行用户注册,用户可以在其中输入优惠券代码.我希望在优惠券代码字段中输入的所有字符都转换为小写.我尝试在save方法,自定义清理方法和自定义验证器中使用.lower(),但我对这些方法没有运气.以下是我的代码.
class StripeSubscriptionSignupForm(forms.Form):
coupon = forms.CharField(max_length=30,
required=False,
validators=[validate_coupon],
label=mark_safe("<p class='signup_label'>Promo Code</p>")
def save(self, user):
try:
customer, created = Customer.get_or_create(user)
customer.update_card(self.cleaned_data["stripe_token"])
customer.subscribe(self.cleaned_data["plan"], self.cleaned_data["coupon"].lower())
except stripe.StripeError as e:
# handle error here
raise e
Run Code Online (Sandbox Code Playgroud)
如上所述,我也尝试了一种清洁方法,但这也不起作用:
def clean_coupon(self):
return self.cleaned_data['coupon'].lower()
Run Code Online (Sandbox Code Playgroud)