通常,类成员的ModelBinding验证可能就像这个例子一样:
public Class someclass
{
[StringLength(50)]
public string SomeValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
SomeValue最多限制为50个字符.
是否可以在运行时将常量(50)更改为其他内容,例如,在构造该类的每个实例期间,以便可以使用具有不同StringLength限制的不同实例?
如果是这样,那怎么做呢?
我需要设置字段值,而不是传递给Django Form构造函数.
我有这样的模型和形式:
class Message(models.Model):
created = models.DateTimeField()
text = models.CharField(max_length=200, blank=True, null=True)
active = models.BooleanField(default=False)
class MessageForm(forms.ModelForm):
class Meta:
model = Message
exclude = ('created', 'active')
def clean(self):
# check if user is blocked
if user.is_admin():
self.cleaned_data['active'] = True
return self.cleaned_data
Run Code Online (Sandbox Code Playgroud)
预期:如果当前用户是管理员 - 我需要自动将消息设置为活动状态.用户不应该通过表单传递此参数.
实际:我看到保存的消息总是有"False"标志(我可以删除条件,在这种情况下,我也看到该消息未激活).
请帮我理解,如何在clean()方法中设置这个" active "标志.
我正在尝试将图像插入 Android 手机的手机内存中。我收到以下异常,虽然当我尝试使用EXTERNAL_CONTENT_URI时没有问题,但如果 SD 卡不存在,我想写入手机内存。
任何人都可以给我一个解决方案吗?提前致谢。
#我的代码
#ContentValues values = new ContentValues(2);
values.put(Media.DISPLAY_NAME, "My Bitmap");
values.put(Media.MIME_TYPE, "image/jpeg");
Uri uri = getContentResolver().insert(Media.INTERNAL_CONTENT_URI,values);
//Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI,values);
OutputStream outStream = getContentResolver().openOutputStream(uri);
b.compress(Bitmap.CompressFormat.JPEG, 50, outStream);
outStream.close();
###################################
11-03 20:02:48.526: ERROR/DatabaseUtils(167): java.lang.UnsupportedOperationException: Writing to internal storage is not supported.
11-03 20:02:48.526: ERROR/DatabaseUtils(167): at com.android.providers.media.MediaProvider.generateFileName(MediaProvider.java:1646)
11-03 20:02:48.526: ERROR/DatabaseUtils(167): at com.android.providers.media.MediaProvider.ensureFile(MediaProvider.java:1337)
11-03 20:02:48.526: ERROR/DatabaseUtils(167): at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:1413)
11-03 20:02:48.526: ERROR/DatabaseUtils(167): at com.android.providers.media.MediaProvider.insert(MediaProvider.java:1381)
11-03 20:02:48.526: ERROR/DatabaseUtils(167): at android.content.ContentProvider$Transport.insert(ContentProvider.java:150)
11-03 20:02:48.526: ERROR/DatabaseUtils(167): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:140)
11-03 …Run Code Online (Sandbox Code Playgroud) DELETE应该是幂等的.
如果我删除http://example.com/account/123,它将删除该帐户.
如果我再次这样做,我会期待404,因为该帐户不再存在?如果我尝试删除从未存在过的帐户怎么办?
是否可以同时nose运行单个测试(跨多个进程)并将结果聚合为单个通过/失败结果?
我们需要同时多次运行相同的测试以确保资源锁定不受影响.如果鼻子不能这样做,是否需要遵循特定的测试/设计模式来实现这一目标?
我喜欢使用bash别名来自定义bash命令.有没有办法覆盖bash别名设置,或者我应该将别名重命名为与原始命令不同的东西.
例如:我的.bash_aliases包括
alias ls='ls -ltr'
Run Code Online (Sandbox Code Playgroud)
如果我只想检索文件名,是否需要将别名重命名为"ls"以外的其他名称?或者还有另一种方式吗?
android ×2
python ×2
alias ×1
asp.net-mvc ×1
bash ×1
django ×1
django-forms ×1
http ×1
http-headers ×1
messages ×1
msdeploy ×1
nose ×1
rest ×1
unit-testing ×1
validation ×1
winapi ×1