首页>>后端>>Python->django中考勤model怎么写的简单介绍

django中考勤model怎么写的简单介绍

时间:2023-12-05 本站 点击:0

导读:很多朋友问到关于django中考勤model怎么写的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

本文目录一览:

1、django 中template 怎么使用model自定义的方法2、Django model 遇到查询条件组合比较多的情况下怎么写3、django使用已有的数据库表怎么建立model4、django modelchoicefield页面怎么写

django 中template 怎么使用model自定义的方法

django 中template 怎么使用model自定义的方法

使用Tmux的最好方式是使用会话的方式,这样你就可以以你想要的方式,将任务和应用组织到不同的会话中。如果你想改变一个会话,会话里面的任何工作都无须停止或者杀掉。让我们来看看这是怎么工作的。

让我们开始一个叫做“session”的会话,并且运行top命令

$ tmux new-s new session

$ top

然后输入CTRL-b d从此会话脱离,想要重新连接此会话,需输入:

$ tmux attach-session -t session

之后你会看到top操作仍然运行在重新连接的会话上。

Django model 遇到查询条件组合比较多的情况下怎么写

没有用过djongo,但是我想应该都是差不多的,这类orm的filter或者where方法返回的都是一个query对象,所以应该是可以连续使用filter的。

比如你前面写了a = search.objects.filter( xxx ), 然后你想再加一个条件,就继续a.filter( yy )就好。

django使用已有的数据库表怎么建立model

在网上看到都是使用Django的models和makemigration,migrate命令来创建新表,并使用。可是我的数据已经存在了已经创建好,并且已经存储有数据了,不能再重新创建新表了。了解Django的表明和models名称的映射关系就可以让Django使用已经存在的表。

假如在Django存在models如下:

[python] view plain copy

from django.db import models

# Create your models here.

class Sciencenews(models.Model):

id = models.CharField(max_length=36,primary_key=True)

first_module = models.CharField(max_length=30,default="News")

second_module = models.CharField(max_length=30,default="Latest News")

title = models.CharField(max_length=300)

author = models.CharField(max_length=60,null=True)

publish_date = models.CharField(max_length=35,null=True)

content = models.TextField(null=True)

crawl_date = models.CharField(max_length=35,null=True)

from_url = models.CharField(max_length=350,null=True)

执行数据迁移命令:

[python] view plain copy

python manage.py makemigration

python manage.py migrate

会在数据库中生成名称为show_sciencenews的数据表。show为应用名称,此处我的应用名称为show。可以看到Django创建表的命名规则:应用名_模型名。

我的存储爬取到的数据的表格名称原来为science_news,想要Django使用它,而不是创建新的表,只需要把的它的名称改为:应用名_要与该表映射的models名称,在此处我改为show_sciencenews。然后使用如上的数据迁移命令,这时可能会提示数据表已经存在的错误,不用理会,models已经和数据表映射上了。接下来只需要正常使用models和数据表就可以了。

django modelchoicefield页面怎么写

1. 这是行不通的。看一看这ModelChoiceField工作原理:

try:

key = self.to_field_name or 'pk'

value = self.queryset.get(**{key: value})

except self.queryset.model.DoesNotExist:

raise ValidationError(self.error_messages['invalid_choice'])

return value

你不能随意添加到它。 使用ChoiceField代替和定制处理数据。

class TestForm(forms.Form):

mychoicefield = forms.ChoiceField(choices=QS_CHOICES)

def __init__(self, *args, **kwargs):

super(TestForm, self).__init__(*args, **kwargs)

self.fields['mychoicefield'].choices = \

list(self.fields['mychoicefield'].choices) + [('new stuff', 'new')]

def clean_mychoicefield(self):

data = self.cleaned_data.get('mychoicefield')

if data in QS_CHOICES:

try:

data = MyModel.objects.get(id=data)

except MyModel.DoesNotExist:

raise forms.ValidationError('foo')

return data

2. 看来,你只是想使这些表单字段是可选的。不要让坚硬的自己。请参阅有关的规定标志着一个表单域。

lead = forms.ModelChoiceField(queryset=People.objects.filter(poc__in=('lead', 'sr.lead')), required=False)

3. 你有PK Person对象'无'? 我想你应该

self.fields['lead'] = forms.ModelChoiceField(queryset = Pepole.objects.filter(poc__in = ('lead','sr.lead')), empty_label="None")

self.fields['lead2'] = forms.ModelChoiceField(queryset = Pepole.objects.filter(role__in = ('lead','sr.lead')), empty_label="None")

编辑: 既然你一个modelchoicefield,我认为所有的选择将是要么机型或者不选。 通过修改传递给构造函数的modlechoicefield,如QuerySet的你可以“扩展”该类型的选择:

qs = People.objects.filter(poc__in = ('lead','sr.lead'))

ext = People.objects.filter(role__in = ('lead', 'sr.lead'))

qs = qs | ext

self.fields['lead'] = forms.ModelChoiceField(queryset = qs, empty_label='None')

or for updating

self.fields['lead'].queryset = qs

结语:以上就是首席CTO笔记为大家介绍的关于django中考勤model怎么写的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/12347.html