小编Luc*_*yne的帖子

当 ngIf 可能会删除它时,如何从打字稿中引用 Angular 组件?

我有一个使用MatInputAngular Material的模板。我试图从代码中访问这个组件,@ViewChild以便我可以以编程方式改变focused状态,但是MatInput当视图初始化时它不存在 - 它的存在是由*ngIf指令确定的。基本上,当视图加载时,有一个p带有一些文本的元素。如果用户单击该元素,它将被替换input为起始值是原始元素文本的 。当它失去焦点时,它会被保存并恢复为一个p元素。问题是当他们第一次单击文本进行更改时,input创建的文本没有焦点 - 他们必须再次单击它才能开始编辑。我希望他们能够单击一次并开始输入。

这是我的相关代码。

模板:

<mat-form-field *ngIf="selected; else staticText" class="full-width">
  <input matInput type="text" [(ngModel)]="text" (blur)="save()">
</mat-form-field>
<ng-template #staticText>
  <p class="selectable" (click)="select()">{{ text }}</p>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

打字稿:

import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
import { MatInput } from '@angular/material';
import { AfterViewInit } from '@angular/core/src/metadata/lifecycle_hooks';

@Component({
  selector: 'app-click-to-input',
  templateUrl: './click-to-input.component.html',
  styleUrls: ['./click-to-input.component.scss']
})
export class ClickToInputComponent …
Run Code Online (Sandbox Code Playgroud)

typescript angular-material angular-components angular

5
推荐指数
1
解决办法
1万
查看次数

Django UUIDField 默认值

我有一个 django 模型,我想向其中添加 UUIDField :

uuid = models.UUIDField(
    default = uuid.uuid4,
    unique = True,
    editable = False
)
Run Code Online (Sandbox Code Playgroud)

我希望这个 uuid 是唯一的,但是在迁移现有数据库时,出现以下错误:

django.db.utils.IntegrityError: (1062, "Duplicate entry '3ba46cb5f7f340ffa43e348cb789901a' for key 'carbon.uuid'")
Run Code Online (Sandbox Code Playgroud)

如果已经使用了另一个 uuid,我如何提供默认值?

python django uuid

5
推荐指数
1
解决办法
4899
查看次数

动态删除django模型表单中字段的排除项

我想以编程方式启用默认情况下排除的字段...

模型:

class MyModel(models.Model):
    name = models.CharField(max_length=100)
    an_excluded_field = models.TextField()
    my_bool = models.BooleanField(default=False) # this is the field to conditionally enable...
Run Code Online (Sandbox Code Playgroud)

形成:

class MyModelForm(ModelForm):
    class Meta:
        model = EmailTemplate
        excludes = ('an_excluded_field', 'my_bool')
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情(或者那种效果......):

form = MyModelForm(enable_my_bool=True)
Run Code Online (Sandbox Code Playgroud)

这几乎就像这篇文章(我希望默认排除字段): 如何在表单的子类中排除ModelForm中的声明字段?

django django-forms

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

电子邮件字段可以用作 django rest 框架的查找字段吗

模型中的电子邮件字段可以用作其余 api 的查找字段吗?

我有一个模型“用户”,其中 username=models.CharField() 和 email=models.EmailField() 作为成员。我想将电子邮件设置为视图集中的查找字段,并具有以下相同的代码。

def get_queryset(self):
    if 'email' in self.kwargs:
        return User.objects.filter(email=self.kwargs['email'])
    else:
        return User.objects.all()

    lookup_field = 'email'
    lookup_url_kwarg = 'email'
Run Code Online (Sandbox Code Playgroud)

但是,由于电子邮件字段始终包含一个“.”,查找失败并显示“当前路径与这些中的任何一个都不匹配”消息。我们如何使用包含 '.' 的值执行成功的 api 查找。例如电子邮件

获取/api/user/abc@def.com

django django-rest-framework

2
推荐指数
1
解决办法
516
查看次数