我正在尝试为模型查询集创建list_view.运行我的服务器时,它返回:属性错误 - 'function'对象没有属性'as_view'.我很感激帮助我解决这个问题.
这是我的代码:
Views.py:
@login_required
class live_bids(ListView):
model = Post
template_name = 'loggedin_load/live_bids.html'
def get_queryset(self):
return Post.objects.all().prefetch_related('bids').filter(user=self.request.user)
Run Code Online (Sandbox Code Playgroud)
urls.py:
url(r'^live_bids/$', live_bids.as_view()),
Run Code Online (Sandbox Code Playgroud) 我在我的Django项目中使用elasticsearch作为haystack的后端.我创建了一个搜索如前所述所需的一切在这里.但是当我搜索时,我会抛出TransportError错误(400,'parsing_exception','no [query]注册[filtered]').
我已经用Google搜索了这个问题.但是没有得到任何解决方案.我很乐意帮助我解决这个问题.
我的追溯:
Traceback (most recent call last):
File "c:\python34\lib\site- packages\haystack\backends\elasticsearch_backend.py", line 524, in search
_source=True)
File "c:\python34\lib\site-packages\elasticsearch\client\utils.py", line 71, in _wrapped
return func(*args, params=params, **kwargs)
File "c:\python34\lib\site-packages\elasticsearch\client\__init__.py", line 569, in search
doc_type, '_search'), params=params, body=body)
File "c:\python34\lib\site-packages\elasticsearch\transport.py", line 327, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
File "c:\python34\lib\site-packages\elasticsearch\connection\http_urllib3.py", line 124, in perform_request
self._raise_error(response.status, raw_data)
File "c:\python34\lib\site-packages\elasticsearch\connection\base.py", line 122, in _raise_error
raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
elasticsearch.exceptions.RequestError: TransportError(400, 'parsing_exception', 'no [query] registered …Run Code Online (Sandbox Code Playgroud) 我一直在尝试跨多个 SAM 模板使用单个 APIGateway。为此,我尝试从其他 SAM 模板上的基本模板导入 RestApiId,并在 lambda 的事件部分下使用它。但 SAM 有限制说
RestApiId 必须是对同一模板中“AWS::Serverless::Api”资源的有效引用。
经过3个小时的研究,我了解到我们可以通过在基础模板中定义API网关并创建角色/策略/定义来实现它,以便允许调用所需的功能。将 Lambda 拆分为多个仅 Lambda 的 SAM 文件,但在其下不定义任何 Api 类型事件。这样,我们就可以创建彼此独立的 Lambda 和 API Gateway,并使用 Swagger/OpenAPI 进行集成并分别安排权限。
以下是推荐上述方法的有用链接。
我觉得这种方法有点复杂,如果 API 在 swagger 文件上得到更多,这可能会超出基本模板的 CFN 200 限制。如果有人建议一种更简单的方法来跨不同模板导入 apiGateway,我将不胜感激。
amazon-web-services aws-lambda aws-api-gateway api-gateway serverless-application-model
我创建了一个Child模型,它具有ForeignKey与Parent模型相关的实例"parent".我想把一个孩子和Post联系起来.为此,在我的表单中,我创建了一个ModelChoiceFieldfor"parent"字段.因此,要在我的模板中呈现此内容,我会将其作为下面的代码.当我运行代码时,它引发了一个错误:
TypeError:str返回非字符串(类型UUID).
我很乐意帮助我解决这个错误.
这是我的代码:
Models.py:
class Parent(models.Model):
parent_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
from1 = models.CharField(max_length=20)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
objects = ParentManager()
def __str__(self):
return self.parent_id
def get_absolute_url(self):
return reverse("detail", kwargs={"id": self.parent_id})
class Child(models.Model):
child_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
parent = models.ForeignKey(Parent, default=uuid.uuid4, related_name='childs' )
user = models.OneToOneField(settings.AUTH_USER_MODEL, null=True, blank=True, unique=False)
amount = models.IntegerField()
def get_absolute_url(self):
return reverse("accept_child", kwargs={"child_id": self.child_id})
def __unicode__(self):
return self.amount
def __str__(self):
return self.amount
Run Code Online (Sandbox Code Playgroud)
forms.py:
class …Run Code Online (Sandbox Code Playgroud) 我创建了一个模型“VehicleDetails”,用户可以在其中填写车辆的详细信息,并创建了另一个模型“TripStatus”,他可以在其中更新车辆位置。我想获得我在下面的代码中所做的最新位置。我在我看来使用 prefetch_related 来返回特定车辆的位置值。但是,在运行服务器后,它会引发错误:“TripStatus 对象没有属性 'prefetch_related'”。我将不胜感激帮助我解决这个问题。模型.py:
class VehicleDetails(models.Model):
Vehicle_No = models.CharField(max_length=20)
class TripStatus(models.Model):
vehicledetails = models.ForeignKey(VehicleDetails, related_name='statuses')
CHOICES = (('Yet to start', 'Yet to start'),('Trip starts', 'Trip starts'), ('Chennai','Chennai'), ('Vizag', 'Vizag'), ('Kolkata', 'Kolkata'))
Vehicle_Status = models.CharField(choices=CHOICES, default="Yet to start", max_length=20)
statustime = models.DateTimeField(auto_now=False, auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
视图.py:
def status(request):
tripstatus = TripStatus.objects.all().latest('statustime').prefetch_related('statuses')
context = {
"tripstatus": tripstatus,
}
return render(request, 'loggedin_load/active_deals.html', context)
Run Code Online (Sandbox Code Playgroud)
模板:
{% for status in vehicledetails.statuses.all %}
{{status.Vehicle_Status}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud) 我在Child模型中创建了一个OneToOneField(父)related_name='children'.在我的观点中,我曾经select_related得到了查询集.但在我的页面中,与父项关联的子项列表显示为空.
Models.py:
class Parent(models.Model):
item = models.CharField(max_length=20)
class Child(models.Model):
parent = models.OneToOneField(Parent, unique = True, related_name = 'children')
price = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
views.py:
def live_prices(request):
parent_queryset = Parent.objects.all().select_related('children')
return render(request, 'live_prices.html', 'parent_queryset' : parent_queryset)
Run Code Online (Sandbox Code Playgroud)
模板:
{% for parent in parent_queryset %}
{% child in parent.children.all %}
{{ child.price }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud) django django-models one-to-one django-views django-select-related
我创建了一个django项目,我使用MySQL数据库.我在mysql安装工具中有mysql-python连接器.我不确定我是否在环境变量中设置了必需的路径.当我运行服务器时,它引发了一个错误:django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:没有名为'MySQLdb'的模块.我很乐意帮助我解决这个问题.
追溯:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x0000000004F167B8>
Traceback (most recent call last):
File "c:\python34\lib\site-packages\django\db\backends\mysql\base.py", line 25, in <module>
import MySQLdb as Database
ImportError: No module named 'MySQLdb'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\python34\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "c:\python34\lib\site-packages\django\core\management\commands\runserver.py", line 113, in inner_run
autoreload.raise_last_exception()
File "c:\python34\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "c:\python34\lib\site-packages\django\utils\six.py", line 685, in reraise
raise value.with_traceback(tb)
File "c:\python34\lib\site-packages\django\utils\autoreload.py", line 226, …Run Code Online (Sandbox Code Playgroud) 我创建了一个出价模型,以便第2类用户可以对第1类用户创建的某些"帖子"出价.为实现这一目标,我在"Bid"模型中为post field创建了一个外键.
实际上我想将出价与'post'模型中的自动生成'id'的特定帖子联系起来.所以我在我的模板中将get_absolute_url放在Post'id'旁边.我是django的新手,我不确定它是否适用于我想要的东西.
如何将出价与post_id关联到模板中的特定帖子,以便我可以获得各种类型2用户针对特定帖子的出价金额?我很乐意帮助我解决这个问题.
这是我的代码:
Models.py:
class Post(models.Model):
post_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
from1 = models.CharField(max_length=20)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
objects = PostManager()
def __str__(self):
return self.post_id
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"id": self.post_id})
class Meta:
ordering = ["-timestamp", "-Time"]
class Bid(models.Model):
bid_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
post = models.ForeignKey(Post, default=uuid.uuid4, related_name='bids' )
user = models.OneToOneField(settings.AUTH_USER_MODEL, null=True, blank=True, unique=False)
amount = models.IntegerField()
def get_absolute_url(self):
return reverse("accept_bid", kwargs={"bid_id": self.bid_id})
def __unicode__(self):
return self.amount
def __str__(self):
return self.amount
Run Code Online (Sandbox Code Playgroud)
forms.py: …
我创建了一个模型'Post',其中我使用UUID而不是Django内置的自动生成ID.在'Post'模型中,我定义了一个def get_absolute_url,以便我可以将它保存在我的模板中.当我试图获得交易页面时,它引发了一个错误:NoReverseMatch at/deal/Reverse为'detail'带参数'(UUID('086d177f-9071-4548-b5db-1d329078853e'),)'和关键字参数'{}' 未找到.尝试了1种模式:['deal /(?P\d +)/ $'].我很感激帮助我解决这个问题.
这是我的代码:
Models.py:
class Post(models.Model):
post_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
from1 = models.CharField(max_length=20)
def __str__(self):
return self.post_id
def get_absolute_url(self):
return reverse("detail", args=(self.post_id))
Run Code Online (Sandbox Code Playgroud)
urls.py:
url(r'^deal/$', views.deal, name='deal'),
url(r'^deal/(?P<post_id>\d+)/$', views.post_detail, name='detail'),
Run Code Online (Sandbox Code Playgroud)
Views.py:
def deal(request):
queryset_list = Post.objects.active() #.order_by("-timestamp")
if request.user.is_staff or request.user.is_superuser:
queryset_list = Post.objects.all()
context = {
"object_list": queryset_list,
"post_id": "List",
}
return render(request, 'before_login/deal.html', context)
def post_detail(request, post_id=None):
instance = get_object_or_404(Post, post_id=post_id)
if instance.date > timezone.now().date():
if not request.user.is_staff or …Run Code Online (Sandbox Code Playgroud) django ×8
django-views ×5
python ×3
django-urls ×2
api-gateway ×1
aws-lambda ×1
django-forms ×1
foreign-keys ×1
mysql ×1
mysql-python ×1
one-to-one ×1