我有一个字段定义为的模型
p = models.DecimalField(max_digits=12, decimal_places=6)
Run Code Online (Sandbox Code Playgroud)
但decimal_places=6 仅用于内部精度。我只想在管理字段中显示 2 个小数位。所以我想也许我可以用属性做点什么。但是属性不会在管理界面中显示为字段。例如:数据库记录:100.256754 admin 编辑字段显示:100.26
有没有办法做到这一点?
我有一个叫做书的模型.我希望能够检查它是否有一个ID为某个数字的书.这是一个简单的问题,我只是在学习.不要太苛刻....
aField = models.ForeignKey('self')
class aClass(models.Model):
aField = models.ForeignKey('aClass')
我开始学习Rails,我无法继续前进,因为我在尝试运行时遇到错误:
bundle exec rspec spec/
Run Code Online (Sandbox Code Playgroud)
我认为错误发生在我的"models/users.rb"文件中:
class User < ActiveRecord::Base
attr_accessible :email, :name
before_save { |user| user.email = email.downcase }
validates :name, presence: true, length: { maximum: 50}
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: {with: VALID_EMAIL_REGEX },
uniquiness: { case_sensitive: false }
end
Run Code Online (Sandbox Code Playgroud)
在此之前,我做错了一件事:我应该在哪里打字
uniquiness: { case_sensitive: false }
Run Code Online (Sandbox Code Playgroud)
我键入:
uniquiness { case_sensitive: false }
Run Code Online (Sandbox Code Playgroud)
并且,在我看到此错误之前,我在项目中进行了一些更改(创建了迁移,运行本地服务器等).我记得我执行过这些命令:
bundle exec rake db:migrate
bundle exec rake db:test:prepare
bundle exec rspec /spec
Run Code Online (Sandbox Code Playgroud)
以下是我得到的错误:
Rack :: File头参数在Rack 1.5之后替换cache_control./usr/lib/ruby/gems/1.9.1/gems/activemodel-3.2.12/lib/active_model/validations/validates.rb:96:in在块中的救援'在验证中':未知验证器:'UniquinessValidator'(ArgumentError )(...)
有人可以帮帮我吗?谢谢大家:P
我有个疑问。我正在做一个 AbstractBaseUser ,Django 1.6 的文档说这是关于获取电子邮件以识别用户,但我不明白这两个函数有什么区别:
#Documentation Django 1.6
def get_full_name(self):
# The user is identified by their email address
return self.email
def get_short_name(self):
# The user is identified by their email address
return self.email
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释一下其中的区别吗?谢谢。
我有两个模型,当我执行 request.POST.get('room_id') 或 ('id') 时,我收到一个错误房间匹配查询不存在。如何解决这个问题?帮我
教室(模型。模型):
status = models.BooleanField('Status',default=True)
name = models.CharField('Name', max_length=100, unique=True)
类书(模型。模型):
date = models.DateTimeField('Created',auto_now_add=True)
from_date = models.DateField('签到')
to_date = models.DateField('退房')
room = models.ForeignKey(Room, related_name='booking')
我需要详细的房间请求获取 ID,预订日期范围(from_date,to_date)
def room_detail(请求,pk):
房间 = get_object_or_404(房间,pk=pk)
如果 request.method == 'POST':
form = BookForm(request.POST,room=room)
如果 form.is_valid():
s = form.save(commit=True)
s.save()
返回重定向(请求。路径)
别的:
表单 = BookForm()
#roomid = Room.objects.values('id')
type = request.POST.get('id') # 或 get('room_id')
rooms = Room.objects.get(id=type)
start_dates = rooms.booking.values_list('from_date',flat=True)
end_dates = rooms.booking.values_list('to_date',flat=True)
日期 = [start + timedelta(days=i) for start, end in … 我的models.py中有以下代码:
def upload_to_cars(instance, filename):
blocks = filename.split('.')
ext = blocks[-1]
filename = "%s.%s" % (instance.name.replace(" ", "-"), ext)
instance.title = blocks[0]
return filename
class Cars(models.Model):
image_file = models.ImageField(upload_to=upload_to_cars, null=True, blank=True)
name = models.CharField(max_length=200)
Run Code Online (Sandbox Code Playgroud)
当我上传第二张图片时,我希望删除第一张图片。这样每个汽车类别总是只有一个图像。相反,当我上传第二个时,django 会在文件名的末尾添加一些字符。
我是这么想的
filename = "%s.%s" %
Run Code Online (Sandbox Code Playgroud)
旧图像将被替换?
有什么建议吗?
谢谢 !
编辑
感谢 zxzak 我做到了,对我来说,它的工作方式略有不同(使用os.remove(path)):
try:
this = Company.objects.get(id=self.id)
if this.image_file:
os.remove(this.image_file.path)
except ObjectDoesNotExist:
pass
Run Code Online (Sandbox Code Playgroud) 一般来说,我对消息传递感兴趣。
我读了很少的定义,但对我来说它的真正含义仍然完全不清楚和抽象。
现在,这就是让我感到震惊的地方 MP 是至关重要的......
基于类的面向对象的编程语言支持由它们的类定义的对象。类定义包括成员数据。消息传递是面向对象语言中的一个关键概念(如果不是关键概念的话)。
所以,有人可以用一些类比或一些例子向我解释什么是消息传递(尽可能)清晰的英语。
我确实有大约一年的编程经验,但主要是在 CodeAcademy 上,还有各种书籍、YouTube 视频和维基百科文章。
你好,我只是想问这个,因为我是 django 新手,我的麻烦是我想计算有多少评论有一个帖子并将其放入 html 模板。但问题是我使用 for 来收集数据库中的所有事件,但我只想显示包含“for”正在显示的每个事件的评论计数。这是我的模型、视图和模板。非常感谢。
楷模
class Event(TimeStampModel):
name = models.CharField(max_length=200, unique=True)
slug = models.SlugField(editable=False)
summary = models.TextField(max_length=255)
content = models.TextField()
category = models.ForeignKey(Category)
place = models.CharField(max_length=50)
start = models.DateTimeField()
finish = models.DateTimeField()
image = models.ImageField(upload_to = 'eventos')
is_free = models.BooleanField(default=True)
amount = models.DecimalField(max_digits=6, decimal_places=0, default=0)
views = models.PositiveIntegerField(default=0)
organizer = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True)
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(Event, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
class Comments(TimeStampModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
event = …Run Code Online (Sandbox Code Playgroud) 我需要将来自不同模型的两个查询集合并为一个。我在网上找到的最推荐的解决方案是:
使用|and &,但这仅适用于来自同一模型的查询集
使用chainand list,但这会带走一些查询集方法,并且由于我项目中代码的结构方式,我无法更改它。我试过了,没有用。
我读过Q,但我不清楚如何应用它来完成我需要的。
基本上我需要将来自不同模型的两个查询集组合成第三个查询集,而不是列表。它们共享一些字段名称,也许这对Q. 例如:
queryset_1 = Cars.objects.all().filter(color='red')
queryset_2 = Horses.objects.all()
queryset_3 = queryset_1 + queryset_2
queryset_3.order_by('date')
Run Code Online (Sandbox Code Playgroud) models ×10
django ×7
python ×4
admin ×1
channel ×1
class ×1
decimal ×1
function ×1
oop ×1
python-3.x ×1
rails-models ×1
recursion ×1
relationship ×1
ruby ×1