我知道我可以通过添加validates_presence_of :field到模型来要求字段.但是,如何要求至少一个字段是强制性的,而不需要任何特定字段?
提前致谢
- Deb
现在我有一个设计模型,它使用email作为authentication_key.
我想添加一个新的设计模型,它使用student_id作为authentication_key.
一些指南告诉我修改配置
"config.authentication_keys = [:email]"通过将:email替换为:student_id.
修改后,第一个模型登录总是失败,所以我想我必须分别为两个模型指出不同的authentication_keys.
我应该怎么做?
我记得你应该以一种特殊的方式命名你的控制器,模型和视图.无论是单数还是复数.我不记得哪些名称,但我在文档中找不到任何相关内容.
我猜它是这样的:
- 控制器是复数
- 意见是复数
- 模型是单数的
我在正确的轨道上吗?
我明白这只是一个约定,你不要有跟着他们,但我还是想知道正确的方法是什么.
我有以下代码:
class Game(models.Model):
title = models.CharField(max_length=50)
summery = models.CharField(max_length=500)
key = models.IntegerField()
pin = models.CharField(max_length=12)
complete = models.BooleanField()
invite_sent = models.DateTimeField()
on = models.ForeignKey(Member, blank = True) #<----
class Member(models.Model):
email = models.CharField(max_length=100)
color = models.CharField(max_length=11)
game = models.ForeignKey(Game) #<----
Run Code Online (Sandbox Code Playgroud)
"on"外键链接到其中一个成员(转为它).游戏的所有成员都将他们的"游戏"外键设置为他们所在的游戏.问题是Django不会让我在声明它之前引用它,因为我不能同时声明它们......
编辑:为了清理,这是一个例子.如果有五个成员玩一个游戏,那么所有五个游戏都有外键.另一方面,游戏将有一个外键给特定成员转过来.
我想fields_view_get在做一些函数后动态触发函数.我重写该函数fields_view_get并返回我的结果.仅在第一次调用实际函数时才会影响XML视图.所以我需要刷新视图以影响arch的新值.
有没有办法让odoo视图fields_view_get在第一次调用函数后才能通过函数改变?
我的尝试:
# here fields view get changes the button string from getting arch
# I overrided the fields_view_get on event model and its get affected and works
# perfectly when I click on main menu Event.but not after the records loaded.
@api.multi
def send_mail_event(self):
x = self.event_id.fields_view_get(view_id=None, view_type='form', toolbar=False, submenu=False)
self.send_mail_event_reg_link(test=True)
return x
Run Code Online (Sandbox Code Playgroud) 我正在通过Django工作,到目前为止真的很喜欢它,但我有一个问题,我不知道解决它的典型方法是什么.
假设我有一个View,它应该在更新某个复杂的Python对象时更新,但是这个对象不是由数据库驱动的,比如它是由AJAX调用驱动的,或者是由用户直接驱动的.
这段代码在哪里?它还应该进入models.py ????
我一直在研究我的Django Web应用程序的离线版本,并经常删除某个ModelX的模型实例.
我是从管理页面完成此操作并且没有遇到任何问题.该模型只有两个字段:名称和顺序,与其他模型没有其他关系.
新实例被赋予下一个可用的pk,当我删除所有实例时,添加一个新实例会产生pk = 1,这是我所期望的.
将代码在线移动到我的实际数据库我注意到情况并非如此.我需要更改模型实例,所以我删除了它们,但令我惊讶的是,主键不断增加而不重置为1.
使用我检查过的Django API进入数据库并且旧实例已经消失,但是即使添加新实例也会产生一个主键,它可以在最后一个被删除的实例停止的地方找到,而不是1.
想知道是否有人知道这里可能存在什么问题.
我有一个项目资源,有很多任务.我想确保每个任务都有一个project_id添加validates_presence_of :project_id到任务模型.
但是,在使用任务创建新项目时,在记录保存之前,project_id将不可用,因此我无法使用validates_presence_of :project_id.
所以我的问题是,如何在任务模型中验证project_id的存在?我想确保每个任务都有父母.
...
class Project < ActiveRecord::Base
has_many :tasks, :dependent => :destroy
accepts_nested_attributes_for :tasks, :allow_destroy => true
Run Code Online (Sandbox Code Playgroud)
...
class Task < ActiveRecord::Base
belongs_to :project
validates_presence_of :project_id
Run Code Online (Sandbox Code Playgroud) 我正在Zend应用程序中从Doctrine 1.1.4升级到Doctrine 2.0.6.
目前,我正在研究实体之间的关联.在Doctrine 2的文档中,它说'关系可能是双向的或单向的.我很困惑这些术语在给定的上下文中意味着什么.
如何确定关系是单向还是双向?
感谢帮助.
运行时:
import spacy
nlp = spacy.load('en')
Run Code Online (Sandbox Code Playgroud)
打印如下:
警告:找不到'en'的模型只加载'en'标记生成器.
/site-packages/spacy/data除init文件外,它是空的.所有文件路径只指向我的单个python安装.
任何有助于解决此问题的帮助.
谢谢!将
models ×10
python ×4
django ×3
validation ×2
controllers ×1
devise ×1
doctrine-orm ×1
instances ×1
laravel ×1
mapping ×1
nested-forms ×1
odoo ×1
odoo-10 ×1
odoo-view ×1
php ×1
primary-key ×1
spacy ×1
views ×1