相关疑难解决方法(0)

Django使用Meta模型隐藏外键

我正在使用django在cookbook网站上工作,并在我的表单中遇到了一个外键字段的问题

问题是,当我创建我的食谱时,我需要一个外键指向创建此食谱的食谱但我不希望用户创建食谱以查看original_cookbook字段(他们不应该)

我相信我需要使用一个小部件(HiddenInput),但我对其他网站上给出的示例感到困惑.我的朋友也提到了在original_cookbook视图中设置初始值的事情

tl; dr:我想将fk指向用户的cookbook,同时隐藏original_cookbook字段.

相关代码:

形成:

class RecipeForm(forms.ModelForm):

    class Meta:
        model = Recipe
Run Code Online (Sandbox Code Playgroud)

模型:

class Recipe(models.Model):
    def __unicode__(self):
        return self.name
    original_cookbook = models.ForeignKey(Cookbook)
    #cookbooks = models.ManyToManyField('Cookbook', related_name = 'recipes')
    name = models.CharField(max_length=200)
    author = models.CharField(max_length= 100)
    picture = models.ImageField(upload_to = 'Downloads', blank=True)
    pub_date = models.DateTimeField('date published', auto_now_add=True, blank=True)
    ingredients = models.TextField()
    steps = models.TextField()
    prep_time = models.IntegerField()
    TYPE_CHOICES= (
    ('SW', 'Sandwich'),
    ('AP', 'Appetizers'),
    ('SD', 'Sauces and Dressings'),
    ('SS', 'Soups and Salads'),
    ('VG', 'Vegetables'),
    ('RG', 'Rice, Grains and Beans'),
    ('PA', …
Run Code Online (Sandbox Code Playgroud)

forms django hidden foreign-keys widget

4
推荐指数
1
解决办法
2869
查看次数

Django - ModelForm动态字段更新

我正在尝试更新ModelForm的某些字段,这些字段不是固定的.(我只有tutor视图自动填充)

模型:

class Session(models.Model):
  tutor = models.ForeignKey(User)
  start_time = models.DateTimeField()
  end_time = models.DateTimeField()
  status = models.CharField(max_length=1)
Run Code Online (Sandbox Code Playgroud)

形成:

class SessionForm(forms.ModelForm):
  class Meta:
    model = Session
    exclude = ['tutor']
Run Code Online (Sandbox Code Playgroud)

对于给定的会话,有时我只需要更新end_time,有时只start_time及end_time.

我怎样才能在视图中这样做?


编辑

我已经给出了示例,但它不仅限于这些示例,我需要更新的字段未预定义,我需要能够更新任何字段

python django django-forms

3
推荐指数
1
解决办法
2943
查看次数

标签 统计

django ×2

django-forms ×1

foreign-keys ×1

forms ×1

hidden ×1

python ×1

widget ×1