Django 模型对象过滤器

发布于 2024-08-30 04:29:36 字数 620 浏览 5 评论 0原文

我有一个模型“Test”,其中有 2 个外键

models.py

class Test(models.Model):
    id =models.Autofield(primary_key=True)
    name=models.ForeignKey(model2)
    login=models.ForeignKey(model1)
    status=models.CharField(max_length=200)



class model1(models.Model):
   id=models.CharField(primary_key=True)
   .
   .

   is_active=models.IntergerField()


 class model2(model.Model):
    id=models.ForeignKey(model1)
     .

     .
     status=model.CharField(max_length=200)

      

当我在模型“Test”中添加对象时,如果我选择特定登录,则只有与该对象(model2)相关的对象应显示在字段“name”中'。我怎样才能实现这一点。这将是运行时,就像我更改登录字段值一样,名称中的对象也应该更改。

I have a model 'Test' ,in which i have 2 foreignkey

models.py

class Test(models.Model):
    id =models.Autofield(primary_key=True)
    name=models.ForeignKey(model2)
    login=models.ForeignKey(model1)
    status=models.CharField(max_length=200)



class model1(models.Model):
   id=models.CharField(primary_key=True)
   .
   .

   is_active=models.IntergerField()


 class model2(model.Model):
    id=models.ForeignKey(model1)
     .

     .
     status=model.CharField(max_length=200)

      

When i add object in model 'Test' , if i select certain login then only the objects related to that objects(model2) should be shown in field 'name'.How can i achieve this.THis will be runtime as if i change the login field value the objects in name should also change.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往昔成烟 2024-09-06 04:29:36

覆盖Test类的save方法。
因此,您可以根据登录将名称设置为您想要的任何内容。

class Test(models.Model):
    .
    .
    def save(self, force_insert=False, force_update=False):
        self.name = self.login.model_set()[0] # or what ever you want
        super(Test, self).save(force_insert, force_update)

Overwrite the save method of class Test.
So you could set name to everithing you want based on login.

class Test(models.Model):
    .
    .
    def save(self, force_insert=False, force_update=False):
        self.name = self.login.model_set()[0] # or what ever you want
        super(Test, self).save(force_insert, force_update)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文