我正在从头开始构建我的第一个Django程序,并且在尝试将项目从最新到最旧打印到屏幕时遇到了麻烦.我的模型在DB中填充了自动日期时间字段,如下所示:
from django.db import models
from django.contrib.auth.models import User
from django.conf import settings
from django.utils import timezone
class TaskItem(models.Model):
taskn = models.CharField(max_length = 400)
usern = models.ForeignKey(User)
#Created field will add a time-stamp to sort the tasks from recently added to oldest
created_date = models.DateTimeField('date created', default=timezone.now)
def __str__(self):
return self.taskn
Run Code Online (Sandbox Code Playgroud)
按照从最新创建到最旧创建的顺序排序或打印此信息的代码行是什么?
想要在此次通话中实施:
taskitems2 = request.user.taskitem_set.all().latest()[:3]
Run Code Online (Sandbox Code Playgroud) 我正在练习指针,并希望用指针操作代替数组来遍历数组的元素.我读了很多文章,无法掌握这个概念.谁能解释一下?
在这里,我创建了一个2D数组,并使用基本的嵌套for循环迭代它,但是想要使用指针;
int test[3][2] = {1,4,2,5,2,8};
for (int i = 0 ; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("%d\n", test[i][j]);
}
}
Run Code Online (Sandbox Code Playgroud) 我目前有一个基于用户输入的列表名称的网址。列表名称。一切查询和显示都没有问题。但是,当用户输入空格作为列表名称时,浏览器不能很好地处理它。我意识到我需要对字符串进行 slugify,但不知道如何进行此实现。我有一种感觉,我向模型添加了某种 slug 字段,然后查询 slug 字段名称以将其自身与渲染到页面的模型对象关联起来。我只是不确定如何编码。
class newlist(models.Model):
user = models.ForeignKey(User)
list_name = models.CharField(max_length = 100,)
picture = models.ImageField(upload_to='profiles/', default = "/media/profiles/default.jpg")
def __str__(self):
return self.list_name
Run Code Online (Sandbox Code Playgroud)
def mylistpage(request, username, listname):
context = RequestContext(request)
#make sure that the user is authenticated
if username == request.user.username:
#If the user is authenticated, then perform the following functions to the page
if request.user.is_authenticated():
#Store the current user request object into a variable
user = User.objects.get(username=username)
#Store the list name to the item …Run Code Online (Sandbox Code Playgroud) 我有这个有点非常规的编码链表,我试图删除它的头.
这是一个哈希表,所以它是一个链表列表
myStruct *pointer = HashTable[i];
Run Code Online (Sandbox Code Playgroud)
1-> 2-> 3-> NULL
如何删除1并使2成为列表的头部?我已经尝试过pointer = pointer-> next但是当我重新显示表时,它仍然是打印1-> 2-> 3-> NULL,而不是2-> 3-> NULL.
我有一个for循环设置,根据用于此深度优先搜索算法的邻接列表的节点数,接受用户输入X次.
int nodeNum;
cout << "Number of nodes?: " << endl;
cin >> nodeNum;
cout << "Names: " << endl;
for (int i = 0; i < nodeNum; i++)
{
getline(cin, tempName);
v.push_back(tempName); //pushing the name of node into a vector
}
Run Code Online (Sandbox Code Playgroud)
当我将其提交到我的大学和GCC的在线编译器时,它会跳过最后一个输入.示例 - 我输入数字8,它只需要7个节点.我怎样才能解决这个问题?