我无法弄清楚这一点。我不断收到“模块”对象在事务对象上没有属性“原子”。不知道为什么突然就破了。我不记得了,但我可能已经更新了我的 django 服务器版本。
from django.db import transaction
@receiver(post_save, sender=User)
def saveUserAndInfo(sender, instance, **kwargs):
user = instance
try:
with transaction.atomic():
user.user_info.save()
except UserInfo.DoesNotExist:
info = UserInfo()
info.user = user
info.save()
Run Code Online (Sandbox Code Playgroud)
追溯:
File "/home2/univetg1/python27/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/home2/univetg1/lunchbox/userinfo/views.py" in facebookLogin
190. login(request, user)
File "/home2/univetg1/python27/lib/python2.7/site-packages/django/contrib/auth/__init__.py" in login
95. user_logged_in.send(sender=user.__class__, request=request, user=user)
File "/home2/univetg1/python27/lib/python2.7/site-packages/django/dispatch/dispatcher.py" in send
170. response = receiver(signal=self, sender=sender, **named)
File "/home2/univetg1/python27/lib/python2.7/site-packages/django/contrib/auth/models.py" in update_last_login
31. user.save(update_fields=['last_login'])
File "/home2/univetg1/python27/lib/python2.7/site-packages/django/db/models/base.py" in save
546. force_update=force_update, update_fields=update_fields)
File "/home2/univetg1/python27/lib/python2.7/site-packages/django/db/models/base.py" …Run Code Online (Sandbox Code Playgroud) 我正在django制作一个网站。我的网站将包含付费和非付费内容。我不知道如何仅为付费用户开放某些功能,也不知道如何保护我的高级数据免受非付费用户的侵害。我能想到的可能的解决方案是:
请帮我。我知道对某些人来说这将是一个新手问题,但我一直坚持这个问题,我不知道如何继续。
我有两个模型,公司模型和合同模型。每份合同都是两家公司之间的。现在,公司和合同之间似乎存在多对多的关系,例如,一家公司可以有许多合同,而一份合同是在多个公司之间进行的。它是否正确?如果是,如何在 Django 中指定?是通过一个模型中的两个外键吗?
class Company(models.Model):
company_name = models.CharField(max_length = 30)
address = models.CharField(max_length = 100)
website = models.CharField(max_length = 30)
email = models.EmailField(max_length = 30)
class Contract(models.Model):
company_1 = models.ForeignKey(Company, related_name="%(app_label)s_%(class)s_related_company1")
company_2 = models.ForeignKey(Company, related_name="%(app_label)s_%(class)s_related_company2")
company = models.ManyToManyField(Company)
contract_date = models.DateField()
consideration = models.DecimalField(max_digit =10, decimal_places = 2)
Run Code Online (Sandbox Code Playgroud) 我想显示评分最高的 5 位用户。然而,它们目前没有显示有序,当我向用户添加两个评级时,它会出现两次,而不是计算平均值并放在正确的位置。
这些是模型:
# this is model for user
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile')
profilepic = models.ImageField(blank=True)
city = models.ForeignKey(City)
slug = models.SlugField(unique=True)
def save(self, *args, **kwargs):
# Uncomment if you don't want the slug to change every time the name changes
self.slug = slugify(self.user.username)
super(UserProfile, self).save(*args, **kwargs)
def __unicode__(self):
return self.user.username
# this is the model for user ratings - one to many relationship with User
class UserRating(models.Model):
user = models.ForeignKey(User)
comment = models.CharField(max_length=500)
rating = models.IntegerField(default=5) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从数据库中搜索并列出两个日期之间的内容,但不知道该怎么做?这
模型.py
...
class ProductsTbl(models.Model):
created = models.DateTimeField(editable=False)
...
Run Code Online (Sandbox Code Playgroud)
视图.py
def search(request):
error = False
if 'q1' and 'q2'in request.GET:
q = request.GET['q1','q2']
if not q:
error = True
else:
books = ProductsTbl.objects.filter(created__range=q)
return render(request, 'search_results.html',
{'books': books, 'query': q})
return render(request, 'search_form.html', {'error': error})
Run Code Online (Sandbox Code Playgroud)
我在这里查找了stackoverflow但不明白该怎么做
我应该在 models.py 中再添加一个 DateTimeField 来帮助搜索吗?
实际上我可以在 python manage.py shell 中做到这一点,但我怎样才能让它在网络上工作?

我的
搜索表单.html
<form action="" method="get">
<table style="width:30%">
<tr>
<td><input type="text" class="datepicker" name="q1"> </td>
<td style="width:5%"> between </td>
<td><input type="text" class="datepicker" name="q2"></td>
<br> …Run Code Online (Sandbox Code Playgroud) 嗨,我正在尝试生成迁移,但没有在数据库中创建所有字段。下面是我的代码。
from django.db import models
class News(models.Model):
author = models.CharField(max_length = 100),
content = models.CharField(max_length= 100),
description = models.TextField(default= "")
def __str__(self):
return self.author
class Meta:
db_table = "news"
class SportNews(models.Model):
author = models.CharField(max_length = 100),
content = models.CharField(max_length = 100),
description = models.TextField(default = "")
def __str__(self):
return self.author
class Meta:
db_table = "sports_news"
Run Code Online (Sandbox Code Playgroud) 我有一个由 Heroku 服务的 Django 网站,其中有一个模型存储有关我过去工作过的项目的数据。我已经跑了makemigrations,并migrate在当地力推的Heroku与Git和运行前heroku run python3 manage.py migrate。因此,我的数据库模型和字段已同步,但我询问的是字段值。每当我在本地更新模型实例的字段值时,我希望它(数据)与Heroku同步,反之亦然——同步我在管理面板中的Heroku上更新的值与本地sqlite3 数据库。是否有用于更新数据库本身值的命令,还是我遗漏了什么?因为过去一个小时我在互联网上到处寻找如何做这件事,但我找不到执行它的命令。
旁注:我还想要我正在寻找的命令来同步新创建的实例,而不仅仅是现有模型实例的数据。
我正在使用从 AbstractUser 派生的 CustomUser 模型制作用户登录表单,并带有一个额外的字段:date_of_birth。我使用 CreateView 来生成表单。所有字段都显示出来,密码字段按预期使用密码小部件(显示点而不是字符),但日期字段没有(没有格式或日历的纯字符字段)。我在看什么?
模型.py:
from django.urls import reverse
from django.contrib.auth.models import AbstractUser
# Create your models here.
class CustomUser(AbstractUser):
date_of_birth = models.DateField(verbose_name="Date of Birth", blank=True, null=True)
def get_absolute_url(self):
return reverse('index')
def __str__(self):
return self.username
Run Code Online (Sandbox Code Playgroud)
表格.py:
from .models import CustomUser
class CustomUserForm(forms.ModelForm):
class Meta:
model = CustomUser
fields = ["username", "password", "first_name", "last_name", "email", "date_of_birth"]
widgets = {
"password": forms.PasswordInput(),
"date_of_birth": forms.DateInput()
}
Run Code Online (Sandbox Code Playgroud)
视图.py:
from django.views.generic.edit import CreateView
from .models import CustomUser
from .forms import CustomUserForm
# …Run Code Online (Sandbox Code Playgroud) 我想创建一个基于 Django 的后端,提供一个仅使用django-rest-framework的 API 。管理界面是我最终用户需要的唯一可视化界面。API 应由 JS 前端使用/集成。后端由几个部分组成类似的配置,可视化等。根据设计我会首先创建一个Django项目的最佳实践my_project与django-admin startproject my_project .和每个部分与添加应用程序python manage.py startapp configuration,python manage.py startapp visualization等等(在Django的休息框架快速入门产生有一个 Django 应用程序。)
对我来说,我不清楚如何采用 Django 设计最佳实践,将应用程序用于基于 RESTful API 的 JS 前端集成。如果我想将后端与 JS 前端集成,我应该如何构建我的代码库?我是否应该创建应用程序configuration、visualization...(我不创建基于模板的视图)并使用单个 RESTful API 定义相应的模型。我应该在哪里放置与项目结构相关的 API 源代码?我应该如何将 API 映射到模型?
我想创建一个 mixin,允许我get按如下方式更改函数的字段:
class MyMixin(self):
myfield = 'field1'
def myfunct(self):
i = MyModel.objects.get(self.myfield=myvar)
Run Code Online (Sandbox Code Playgroud)
这样所需的代码就可以运行了MyModel.objects.get(field1=myvar)。
但是,这种方法返回
语法错误:表达式不能包含赋值
如何动态设置这样的字段名称?
django ×10
django-models ×10
django-views ×3
python ×2
python-3.x ×2
database ×1
django-forms ×1
heroku ×1
web ×1