标签: django-models

Django一对多场..........?

嘿朋友我是django模特中的新手.我的问题是,我有五个表属性,如.

Rulno (integer)
From (IpAddressfield )
To(IpAddressfield )
Priority (integer)
Cisp(CharField)
Run Code Online (Sandbox Code Playgroud)

对于单个Ruleno,它们可以是许多优先级和Cisp.因为我正在编写类似的模型.

class Ruleinfo(models.Model):
    rule = models.IntegerField(null=False)
    From = models.IPAddressField(null=True)
    to = models.IPAddressField(null=True)
    priority = models.ForeignKey('Priority',related_name = 'priority1')
    Cisp =models.ForeignKey('Priority',related_name = 'cisp1')
    def __unicode__(self):
        return u'%s' %(self.rule)



class Priority(models.Model):  
    priority =  models.IntegerField(null = True)
    Ruleno = models.ForeignKey('Ruleinfo')
    CISP = models.IntegerField(null = True)
    def __unicode__(self):
        return u'%s ' % (self.priority)
Run Code Online (Sandbox Code Playgroud)

我想知道,以上型号是否符合我的要求?.

或者如果有替代方案,请告诉我.

django django-models django-forms

0
推荐指数
1
解决办法
1651
查看次数

Django获取模型的字段数

如何在django中获取模型字段的数量?

python django django-models

0
推荐指数
1
解决办法
64
查看次数

如何获得给定主键名称变量和pk值的对象?

如果我有一个主键名称的变量,如何获得给定该变量和主键值的对象?

例如

pk_name = 'username'
pk = 'bob'

class_name.objects.get(pk_name=pk)  # this obviously doesn't work because it looks for a field called pk_name
Run Code Online (Sandbox Code Playgroud)

python django django-models

0
推荐指数
1
解决办法
137
查看次数

Django模型:具有Choices属性的CharField

为什么它不起作用?

DESCSPECSOFT = (
    (u'99','-'),
    (u'Load',u'Load'),
    (u'Script',u'Script'),
    (u'Load & Script',u'Load & Script'),
    )   
descSpecSoft = models.CharField(choices=DESCSPECSOFT, default=99,blank = False,null = False)
Run Code Online (Sandbox Code Playgroud)

谢谢

编辑:

用表格代替模型是我的错误

EDIT2:“这些选择是字符串,但默认值为整数。您没有提供有关“不起作用”的含义的任何信息。”

不起作用=模板中不需要的字段

django django-models

0
推荐指数
1
解决办法
6557
查看次数

在SQLite中注释

我有以下型号:

class Model(...):
  date = DateField()
  user = ForeignKey()
  data = ForeignKey()
  time = IntegerField()
Run Code Online (Sandbox Code Playgroud)

我想为每个用户提供单个数据的时间总和字段,所以我这样做:

Model.objects.filter(date=..., data=...).values('user_id').annotate(time=Sum('time'))
Run Code Online (Sandbox Code Playgroud)

但我收到的结果如下:

[{'user_id':1,'时间':20},{'user_id':1,'时间':10},{'user_id':2,'时间':20}]

所以分组不起作用.我检查了django生成的查询,我不知道为什么django也使用日期和数据进行分组,而不仅仅是用户.我做错了什么或者这只是SQLite问题?

sqlite django django-models

0
推荐指数
1
解决办法
329
查看次数

Django依靠ForeignKey

我需要获取属于一个的所有联系人的总数,但是从名为batch .... 的模型中获取.

这有助于解释

型号(未完整显示)

class Batch(models.Model):
    #FK
    group = models.ForeignKey(Group, null=True, blank=True)


class Group(models.Model):
    name = models.CharField(max_length=60)



class Contact(models.Model):

    first_name = models.CharField(max_length=60)
    group = models.ForeignKey(Group)
Run Code Online (Sandbox Code Playgroud)

所以批量内我想做这样的事......

 def get_contact_count(self):
        return len(self.group.contacts)
Run Code Online (Sandbox Code Playgroud)

但是,由于团队之间的关系相反,我正在挣扎.

任何选择?

django django-models

0
推荐指数
1
解决办法
440
查看次数

Django South schemamigration错误AttributeError:'Options'对象没有属性'index_together'

我正在使用南方的Django Web应用程序进行数据库迁移.我对南方很新,还有django.我尝试使用南方的官方教程,但它失败了一个例外:AttributeError:'Options'对象没有属性'index_together'.我像这样运行南命令:

python manage.py schemamigration southtut --initial  
Run Code Online (Sandbox Code Playgroud)

southtut模型是这样的:

class Knight(models.Model):
    name = models.CharField(max_length=100)
    of_the_round_table = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

我的项目模型是这样的:

class Author(models.Model):
    name = models.CharField(max_length=64)
    authorId = models.CharField(max_length=32)

    def __unicode__(self):
        return self.name

    class Meta:
        db_table="Author"   

class Video(models.Model):
    videoId = models.CharField(max_length=32)
    videoUrl = models.URLField(max_length=200)
    author = models.ForeignKey(Author, null=True, related_name="videos", on_delete=models.SET_NULL)

    class Meta:
        db_table="Video"

class User(models.Model):
    token = models.CharField(max_length=50, null=True)
    favs = models.ManyToManyField(Video, related_name="fans", db_table="VideoUserR")

    class Meta:
        db_table = "User"
Run Code Online (Sandbox Code Playgroud)

我得到的整个错误信息如下:

    Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv) …
Run Code Online (Sandbox Code Playgroud)

django django-models django-south

0
推荐指数
1
解决办法
1215
查看次数

save(commit = False)返回:save()得到一个意外的关键字参数'commit'

我有一个非常正常的模型:

class Nonce(models.Model):

    key = models.CharField(_('key'), max_length=36, primary_key=True, blank=False)
    token = models.ForeignKey('Token')
    date_created = models.DateTimeField(_('date created'), blank=False, default='1970-01-01 00:00:00')
    date_consumed = models.DateTimeField(_('date consumed'), blank=True, null=True)
    created_by = models.IPAddressField(_('IP address'), blank=False, default='0.0.0.0')
    consumed_by = models.ForeignKey('MyUser', blank=True, null=True, on_delete=models.SET_NULL)

    def __unicode__(self):
        return self.key
Run Code Online (Sandbox Code Playgroud)

其中很多都将被创建,我只需要保留其中一部分实际上被"消耗"(使用)的部分.此外,从模型中不明显,但这些将在1小时后到期.

因此,为了不使用一堆旧的nonce混乱我的数据库,并且为应用程序提供定期(经常)删除过期的数据库的工作,我认为最好将它们存储在RAM中直到它们被消耗(如果有的话) ).

所以,我已经分叉了我的代码,我想我只是替换我的代码,我保存()使用save(commit = False)创建的对象,然后将对象存储到RAM(Memcached).稍后如果消耗了特定的随机数,我将正确地保存(),否则,该对象将过期并通过Memcache清除.

不幸的是,我收到错误:save() got an unexpected keyword argument 'commit'来自Django的行nonce.save(commit = False).为什么?

我正在使用Django 1.4.5和Python 2.7.2.

python django django-models

0
推荐指数
1
解决办法
3983
查看次数

如何创建一个脚本,它将我的Django用户的所有电子邮件地址打印成一个小的.txt文件?

我有大约6000名用户使用我的Django应用程序.我最近发现了Mailchimp,我想向所有这些用户发送一条消息,告知该网站停用了几天.

而不是复制和粘贴每个电子邮件(约6000).我想知道是否有一个python脚本或者某些内容可以将我应用中每个django用户的所有电子邮件地址写成一个小的.txt.

我该怎么做呢?

python email django django-models

0
推荐指数
1
解决办法
84
查看次数

Django .is_superuser字段权限

默认情况下,通过运行manage.py createsuperuser命令从项目目录可以创建超级用户,但是该.is_superuser标志是默认的django标志,用于区别超级用户或其他用户。

我不想使用它,因为我在整个应用程序中都使用该标志来显示设置菜单。相反,我在中添加了一个字段userprofile models,该字段为.is_primary_user

有什么方法可以控制它,以便如果我运行createsuperuser注释,它应该.is_primary_useruserprofile模型中将字段更新为“ 1” ?

python django django-models django-admin

0
推荐指数
1
解决办法
4361
查看次数