所以这是我的模型:
class Puzzles(models.Model):
user = models.ForeignKey(User)
puzzle = models.CharField(max_length=200)
class Scores(models.Model):
user = models.ForeignKey(User)
puzzle = models.ForeignKey(Puzzles)
score = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)
因此,用户将获得多个分数。对于排行榜页面,我想输出总得分最高的用户(从所有不同得分中添加)。我真的对执行此操作的python代码迷失了。
任何帮助表示赞赏,谢谢!
我想根据优惠券的数量对标签进行排序.标签和商店模型具有多对多的关系,商店和优惠券具有一对多的关系.
我的models.py:
class tags(models.Model):
""" This is the tag model """
seo_url = models.URLField() # SEO URL for mypromocodes.in
tagDescription = models.TextField() # Tag Description
tag = models.CharField(max_length=200) # Tag name
tagSlug = models.CharField(max_length=400) # Extra info can be added to the existing tag using this field
updatedAt = models.DateTimeField(auto_now=True) # Time at which tag is updated
createdAt = models.DateTimeField(auto_now_add=True) # Time at which tag is created
hash = models.CharField(max_length=10,unique=True) # Tag Hash for mypromocodes.in
def save(self, *args, **kwargs):
"""Custom …Run Code Online (Sandbox Code Playgroud) 我有一个问题
messages = Message.objects.all()
Run Code Online (Sandbox Code Playgroud)
我想创建一个从message.number创建一个逗号分隔的所有数字的字符串
这是我尝试过的:
number = ""
for obj in messages:
number = number + "," + obj.number
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?PS这个字符串可以超过400,000个数字!
我正在将"外部"参数传递给我的自定义清理方法.
除了标识符,我使用表单传递所有内容.标识符来自URL.除了表单之外,我还需要使用标识符.
这是我的代码:
class Entry(models.Model):
identifier = models.ForeignKey(Offer)
name = models.CharField(max_length=64)
description = models.TextField()
class EntryForm(ModelForm):
class Meta:
model = Entry
def clean(self):
try:
Entry.objects.get(
identifier=THIS IS WHAT I NEED TO FILL,
description=self.cleaned_data['description'],
name=self.cleaned_data['name'])
raise forms.ValidationError(_(u'We already have an entry with the same credentials!'))
except Entry.DoesNotExist:
pass
return self.cleaned_data
Run Code Online (Sandbox Code Playgroud)
视图:
def addEntry(request, identifier):
entry = get_object_or_404(Entry, pk=identifier)
if request.method == "POST":
entryForm = EntryForm(data=request.POST)
if entryForm.is_valid():
entry = entryForm.save(commit=False)
entry.identifier = identifier
entry.save()
else:
entryForm = EntryForm(data=request.POST)
...
Run Code Online (Sandbox Code Playgroud)
所以我错过了我可以将标识符添加到clean方法的部分.
感谢先进的帮助!
我创建了一个配置文件模型来扩展默认的django用户(使用django 1.6)但是我无法正确保存配置文件模型.
这是我的模型:
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User)
mobilephone = models.CharField(max_length=20, blank=True)
Run Code Online (Sandbox Code Playgroud)
这是我的celery-task,用于从wdsl文件更新personrecords:
@task()
def update_local(user_id):
url = 'http://webservice.domain.com/webservice/Person.cfc?wsdl'
try:
#Make SUDS.Client from WSDL url
client = Client(url)
except socket.error, exc:
raise update_local.retry(exc=exc)
except BadStatusLine, exc:
raise update_local.retry(exc=exc)
#Make dict with parameters for WSDL query
d = dict(CustomerId='xxx', Password='xxx', PersonId=user_id)
try:
#Get result from WSDL query
result = client.service.GetPerson(**d)
except (socket.error, WebFault), exc:
raise update_local.retry(exc=exc)
except BadStatusLine, exc:
raise update_local.retry(exc=exc)
#Soup the result
soup = BeautifulSoup(result) …Run Code Online (Sandbox Code Playgroud) 我试图更新int我的Django模型中的一个字段.
但是在更新此字段时出现以下错误.
(这是python manage.py shell在ipython中使用)
# this is what I m trying to do
>> a = download.objects.get(id=1)
>> a.url = ""
>> a.save() # raises an error
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/usr/local/lib/python2.7/dist-packages/django/core/management/commands/shell.pyc in <module>()
----> 1 a.save()
/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in save(self, force_insert, force_update, using, update_fields)
544
545 self.save_base(using=using, force_insert=force_insert,
--> 546 force_update=force_update, update_fields=update_fields)
547 save.alters_data = True
548
/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in save_base(self, raw, cls, origin, force_insert, force_update, using, update_fields)
624 values = …Run Code Online (Sandbox Code Playgroud) 我做了一个包含如下字段的表单:
sex = forms.ChoiceField(choices= SEX)
Run Code Online (Sandbox Code Playgroud)
哪里:
SEX = (
('F','Female'),
('M','Male'),
('U','Unsure'),
)
Run Code Online (Sandbox Code Playgroud)
现在我想知道如何最好地定义性别模型?我知道可以这样做:
class UserProfile(models.Model):
user = models.ForeignKey('User')
sex = models.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)
但是,没有比CharField更好的选择了吗?
这是我的模特:
class company_profile(models.Model):
user=models.ForeignKey(User, unique=True)
company=models.CharField(max_length=200)
def __unicode__(self):
return self.company
Run Code Online (Sandbox Code Playgroud)
当我得到django shell我做了以下,它工作正常:
from my_app.models import company_profile
everything = company_profile.objects.all()
# this gives me the correct out put of the existing company names ,
Run Code Online (Sandbox Code Playgroud)
但是当我做以下事情时:
username = company_profile.objects.all().filer(user='rakesh')
this is the error , that i am getting :
ValueError: invalid literal for int() with base 10: 'rakesh'
Run Code Online (Sandbox Code Playgroud)
我怎么能解决这个问题,或者我的查询错了.
下划线在此行中有什么相关性('密码')?
password = models.CharField(_('password'), max_length=128)
我查看了Django文档,并指出模型字段定义中的第一个参数是'详细名称',但是在这种情况下我无法找到下划线的相关性?
我正在查看的整个文件是:https: //github.com/django/django/blob/master/django/contrib/auth/models.py
谢谢,马克
在一个应用程序中的models.py变得很大之后,我尝试将一些类移到子包中。
旧的结构是这样的:
# File: assets/models.py
class Asset(...):
# lots of irrelevant code
# File: widgets/models.py
from assets.models import Asset
class Video(...):
asset = models.ForeignKey(Asset)
Run Code Online (Sandbox Code Playgroud)
这项工作没有问题,因此,我不再赘述该结构的更多细节。
我现在尝试做的是将Asset类移到子模块中。现在的结构如下:
# File: assets/models/__init__.py (of course I deleted the old models.py)
from .assets import Asset
# File: assets/models/assets.py
class Asset(...):
# lots of irrelevant code
# File: widgets/models.py
from assets.models.assets import Asset
class Video(...):
asset = models.ForeignKey(Asset)
Run Code Online (Sandbox Code Playgroud)
不知何故,这是行不通的,而且我无法弄清楚到底是什么引起了麻烦。我得到的错误是这样的:
widgets.video:“asset”与model关联,尚未安装或抽象
django ×10
django-models ×10
python ×7
django-forms ×1
django-users ×1
django-views ×1
refactoring ×1