我有一个看起来像这样的 Django 模型:
class Definition
name = models.CharField(max_length=254)
text = models.TextField()
Run Code Online (Sandbox Code Playgroud)
如果我执行以下查询:
animal = Definition.objects.get(name='Owl')
Run Code Online (Sandbox Code Playgroud)
如果我的数据库中有这些名称的以下定义:
Elephant, Owl, Zebra, Human
Run Code Online (Sandbox Code Playgroud)
有没有办法做一个django查询,它会animal根据name模型中字段的字母顺序显示基于对象的上一个和下一个定义?
我知道有多种方法可以根据datetime字段获取上一个/下一个,但我对这种情况不太确定。
我构建了一个 MVVM 模式 TreeView
-Root
--Item
---Subitem
单击任何 TreeViewItem 时,我想在单独的窗口中显示实际对象(模型)的详细信息。
但我不确定如何访问对象的数据。
private void TreeView_OnSelectedItemChanged(object sender, RoutedEventArgs e)
{
TreeViewItem tvi = e.OriginalSource as TreeViewItem;
MessageBox.Show(tvi.ToString());
}
Run Code Online (Sandbox Code Playgroud) 我有这个模型文件:
\app\models\Recipe.php
<? php
class Recipe extends Eloquent{
protected $table = 'recipes';
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
<?php
class IndexController extends BaseController {
public function showIndex()
{
$recipes = Recipe::all();
return View::make('index',array('recipes' => $recipes));
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试调用该页面时,我收到此错误消息:
Symfony \ Component \ Debug \ Exception \ FatalErrorException
Class 'Recipe' not found
Run Code Online (Sandbox Code Playgroud)
我也执行了
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
知道出了什么问题吗?
我遇到了一个非常奇怪的问题。从 2 天开始,我无法在模型中从我的数据库中添加新表。它们出现在可添加表的列表中,验证时没有显示错误,但是它们不会出现在实体列表中,它们仍然出现在菜单的“可添加”部分。问题出现在
我们已经尝试过不同的计算机,所以这不是我特定的视觉工作室的问题。我们已经尝试过其他数据库,问题不影响它们。虽然它影响了我的 prod 和 developmentpment dbs。我们已经尝试使用完全相同的凭据登录到数据库(不是我们通常做的窗口身份验证),但问题仍然存在,所以这不是权限问题。
我们现在有点想法:/
有人知道它可能是什么吗?
谢谢
我用java编写了一些代码来给出1到10的一些数字,然后还显示平均值。我想将其更改为模型视图控制器方法(这就是导师想要的)。我们只上过一节课,我真的不明白如何改变它。如果有人能完成这个并告诉我如何(就像他们试图教一个 5 岁的孩子一样)那会很棒。
//JAVA CODE
public class Ex4 {
public static void main(String[] args) {
int sum = 0;
int average = 0;
for (int i=1; i < 10; i++){
sum = sum + i;
average = sum/i;
}
System.out.println("The sum is " + sum);
System.out.println("The average is " + average);
}
}
Run Code Online (Sandbox Code Playgroud) 我已经使用实体数据模型向导为 SQL 服务器中的表创建了一个实体框架,但是我需要在 MVC 的 razor 视图中使用两个以上的模型,目前我有一个现有的 linq 查询:
控制器视图
var test = from a in db.tbl_users
where a == 2
select a;
return view (test.ToList());
Run Code Online (Sandbox Code Playgroud)
剃刀视图:
@model IEnumerable <Telephone_Search.Models.tbl_users>
@foreach (var item in model)
@HTML.DisplayFor(modelItem => item.users)
Run Code Online (Sandbox Code Playgroud)
但是我计划访问存在于我想要循环的实体框架中的其他表,像这样
@model IEnumerable <Telephone_Search.Models.'EntityFramework'>
@foreach (var item in 'entityframework')
@HTML.DisplayFor(modelItem => EntityFramework.'table'.'item')
Run Code Online (Sandbox Code Playgroud)
我试图创建一个视图模式,但是我的类在模型文件夹中是分开的,我不确定如何将这些类包装到一个视图模型中?
我试图提供一种方法来跟踪用户何时对我的应用程序中的注释部分的模型进行更改。例如,John 修改了 2 个字段,将创建一条注释,说明 John 已从title“我的标题 1”更改为“我的标题 2”,并content从“Lipsum”更改为“Lipsum2”。
这是我创建的一个特征:
<?php
namespace App\Traits;
use Illuminate\Database\Eloquent\Model;
trait TrackChanges
{
public $changes;
public static function bootChangesTrait()
{
static::updating(function($model)
{
$this->changes = [];
foreach($model->getDirty() as $key => $value)
{
$original = $model->getOriginal($key);
$this->changes[$key] = [
'old' => $original,
'new' => $value,
];
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
我在我的模型上成功地使用了这个特性。但是,我不确定如何捕获更改的内容,或者它们是否正常工作。
在我的控制器中我有:
$site = Site::findOrFail($id);
// Catch and cast the is_active checkbox if it's been unselected
if ( ! $request->exists('is_active') )
{
$request->request->add([ 'is_active' …Run Code Online (Sandbox Code Playgroud) 这是我的代码:
$id = 'wrong id';
try{
$myLaravelModel = MyLaravelModel::find($id);
$myLaravelModel->done = true; //here's error
}catch (Exception $e){
return 'error';
}
Run Code Online (Sandbox Code Playgroud)
当代码到达带有注释的行时,我得到了错误:“从空值创建默认对象”,这是准确的,但是我认为catch块将捕获该错误并返回“错误”。为什么不起作用?
我正在django应用程序内部的app_name文件夹的根目录中运行脚本;如在app_name> app_name中。
在脚本的顶部,我有这个:
import os
import sys
os.environ.setdefault('DJANGO_SETTINGS_MODULE','versal.settings')
import django
django.setup()
Run Code Online (Sandbox Code Playgroud)
我正在尝试处理完整性错误-我的子弹必须是唯一的,所以当一个不是唯一的时,我想通过向子弹添加1来处理完整性错误。
try:
podcast_instance.slug = slugify(parsed_podcast.title)
podcast_instance.save()
podcast_saves += 1
except IntegrityError:
podcast_instance.slug = slugify(parsed_podcast.title + '1')
podcast_instance.save()
podcast_saves += 1
Run Code Online (Sandbox Code Playgroud)
当我运行这段代码时,我得到了:
Traceback (most recent call last):
File "podcasts.py", line 166, in <module>
podcasty()
File "podcasts.py", line 159, in podcasty
submit(podcast_objects,podcast_rss)
File "podcasts.py", line 73, in submit
except IntegrityError as e:
NameError: name 'IntegrityError' is not defined
Run Code Online (Sandbox Code Playgroud) 我试图将数据保存在模型函数中。使用模型的save()函数时,出现如下错误。
照射\数据库\ QueryException:SQLSTATE [42S22]:柱未找到:1054未知列'的updated_at'在'字段列表'(SQL:插入到
account_types(name,updated_at,created_at)的值(设备厂,2019年8月5日五时33分57秒, 2019-08-05 05:33:57))在文件F:\ HTML&
我已删除表coz中的created_at和updated_at列,我不需要它。我想知道在Laravel中使用模型save()函数时如何禁用created_at和update_at数据保存。
<?php
namespace pshub;
use Illuminate\Database\Eloquent\Model;
class AccountType extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name'];
// Create Type Function
public function createType($type) {
$existence = $this->where('name', $type)->get();
if (sizeof($existence) > 0) {
return $this->where('name', $type);
} else {
$this->name = $type;
$this->save();
return $this->id;
}
}
}
Run Code Online (Sandbox Code Playgroud) model ×10
laravel ×4
php ×3
c# ×2
controller ×2
django ×2
eloquent ×2
exception ×2
python ×2
alphabetical ×1
asp.net ×1
asp.net-mvc ×1
frameworks ×1
java ×1
linq ×1
mvvm ×1
traits ×1
treeviewitem ×1
view ×1
wpf ×1