Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当用户在django中创建组时,为其创建唯一的名称_Django - Fatal编程技术网

当用户在django中创建组时,为其创建唯一的名称

当用户在django中创建组时,为其创建唯一的名称,django,Django,我正在尝试创建一个应用程序,允许我的用户创建一个房子,然后能够添加居住者 然而,我的问题是房子的名称必须是唯一的,到目前为止,它将名称保存为Auth.user,如何获取他们的用户名,然后将其与房子一起保存。比如“琼斯史密斯之家” 这就是我目前所拥有的 User = settings.AUTH_USER_MODEL class House(models.Model): owner = models.ForeignKey(User, null=True, blank=True)

我正在尝试创建一个应用程序,允许我的用户创建一个房子,然后能够添加居住者

然而,我的问题是房子的名称必须是唯一的,到目前为止,它将名称保存为Auth.user,如何获取他们的用户名,然后将其与房子一起保存。比如“琼斯史密斯之家”

这就是我目前所拥有的

    User = settings.AUTH_USER_MODEL

class House(models.Model):
    owner = models.ForeignKey(User, null=True, blank=True)
    name = models.CharField(max_length=50)

    def save(self, *args, **kwargs):
        self.name = User
        super(House, self).save(*args, **kwargs)


    def __unicode__(self):
        return smart_text(self.name)

class Occupant(models.Model):
    house = models.ForeignKey(House)
    occupants = models.ForeignKey(User)

我希望这是有意义的,谢谢,据我所知,你需要一个应用程序,允许你的用户创建一个房子,然后能够添加居住者

此外,您的房屋名称应与您的用户(创建它的人)+“房屋”一起使用

那么这样的事情就足够了

class House(models.Model):
    # name of the house
    name = models.CharField(max_length=20, null=True, blank=True)
    owner = models.OneToOneField(User, null=True, blank=True)
因为,您只需要一个用户作为房屋所有者,并且每个房屋都有一个所有者,所以您需要将关系设置为OneToOne。 如果您需要引用您提到的小时数(以及所有者的用户名),请重写save方法

    def save(self, *args, **kwargs):
        self.name = "%s House" % (self.owner.username)
        super(House, self).save(*args, **kwargs)
现在,对于一个居住者来说,每个使用者都可能是一所房子的居住者,但我想只有一个

class Occupant(models.Model):
    house = models.ForeignKey(House, null=True, blank=True)
    user = models.ForeignKey(User, null=True, blank=True)
    name = models.CharField(max_length=32, null=True, blank=True)